mysql優(yōu)化的常用方法有哪些??
問(wèn)題描述
不適用memcahe和redis這些?單從表和字段的設(shè)計(jì),包括怎么提高查詢速度呢???
問(wèn)題解答
回答1:字段優(yōu)化VARCHAR 長(zhǎng)度不要分配太多, 夠用就好
盡量使用 TINYINT、SMALLINT、MEDIUM_INT 作為整數(shù)類型而非 INT
使用枚舉或整數(shù)代替字符串類型
盡量不要使用 NULL 字段, 因?yàn)榭赡軙?huì)導(dǎo)致索引失效
盡量使用 TIMESTAMP而非 DATETIME, 因?yàn)?TIMESTAMP 只占用4字節(jié), 而 DATETIME 占用8字節(jié).
添加索引對(duì)頻繁查詢的字段添加索引.
不要在 WHERE 中對(duì)字段進(jìn)行 NULL 值判斷, 否則將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描
建立索引的字段需要有盡可能大的區(qū)分度. 像 性別 這樣的字段, 只有兩個(gè)值的, 就不要建索引了.
注意最左前綴匹配原則.
回答2:設(shè)置開(kāi)啟慢查詢?nèi)罩荆胑xplain分析sql語(yǔ)句,explain extended分析show warnings查看mysql優(yōu)化器內(nèi)部改寫的sql語(yǔ)句等等,高性能mysql這本書上有介紹,可以看看
相關(guān)文章:
1. 怎么在網(wǎng)頁(yè)中設(shè)置圖片進(jìn)行左右滑動(dòng)2. node.js - mysql如何通過(guò)knex查詢今天和七天內(nèi)的匯總數(shù)據(jù)3. mysql 插入數(shù)值到特定的列一直失敗4. mysql 怎么做到update只更新一行數(shù)據(jù)?5. python - 在使用Pycharm時(shí)經(jīng)常看到如下的樣式,小括號(hào)里紅色的部分是什么意思呢?6. javascript - 新浪微博網(wǎng)頁(yè)版的字?jǐn)?shù)限制是怎么做的7. python 合并dict8. 360瀏覽器與IE瀏覽器有何區(qū)別???9. javascript - 用jsonp抓取qq音樂(lè)總是說(shuō)回調(diào)函數(shù)沒(méi)有定義10. sublime可以用其他編譯器替換嗎?
