20170425
*本來(lái)打算讀SICP,但是最近對(duì)mysql索引的不了解嚴(yán)重影響了開(kāi)發(fā)效率, 還是先讀這本吧, 中文版500多頁(yè)...任務(wù)還是挺重.
#Insert into a MySQL table or update if exists
http://stackoverflow.com/questions/4205181/insert-into-a-mysql-table-or-update-if-exists
INSERT INTO table(id,name,age) VALUES(1,"A",19) ON DUPLICATE KEY UPDATE name="A",age=19
ON DUPLICATE KEY UPDATE可以實(shí)現(xiàn)有則更新無(wú)則插入!!
#前三章講測(cè)試和服務(wù)器性能,貌似CAT已經(jīng)能很完美去解決大部分問(wèn)題了.
#VARCHAR(5)和VARCHAR(20)儲(chǔ)存同一個(gè)內(nèi)容時(shí)候,空間占用一樣,但是更長(zhǎng)的列消耗更多地內(nèi)存.
#FROM_UNIXTIME(UNIX_TIMESTAMP(addTime)) timestamp格式和unix格式的轉(zhuǎn)換函數(shù)
#第5章 創(chuàng)建高性能的索引 不能跳過(guò)索引中的列; 如果查詢中某個(gè)列是范圍查詢,則其右邊所有列都無(wú)法使用索引優(yōu)化查找.
#對(duì)url這樣的長(zhǎng)字段索引可以加CRC32哈希索引,大大加快索引速度
#5.3.1查詢中的列必須是獨(dú)立的,獨(dú)立放在比較符號(hào)一端,否則無(wú)法用索引,常見(jiàn)錯(cuò)誤,如
WHERE TO_DAYS(CURRENT_DATE)- TO_DAYS(date_col) <=10;而且也不能套上TO_DAYS函數(shù)
#5.4.1 sex的選擇性很低,但是如果查詢中經(jīng)常用到,就應(yīng)該作為索引的前綴列,如果某個(gè)查詢沒(méi)用到sex列, 可以在where里加AND SEX in ('m','f');
6.4 mysql中將IN()列表中的數(shù)據(jù)先進(jìn)行排序,再通過(guò)二分查找,所以是個(gè)logn復(fù)雜度的操作,比OR(n復(fù)雜度)要快!
update inner join用生成表的形式繞過(guò)update 不能select自身表的限制
查找不同顏色球的數(shù)量:Select count(color = 'blue' or null) as blue, count(color = 'red' or null) as red From items;
-----------------------------------------------------------------
20170506 讀到第七章,感覺(jué)之前的索引介紹確實(shí)對(duì)我收益匪淺,對(duì)工作很有幫助.mysql功能很強(qiáng)大,但有些地方優(yōu)化不夠,不夠"傻瓜"化,比如DEPENDENT SUBQUERY:子查詢中的第一個(gè)SELECT宿饱,取決于外面的查詢. 就是子查詢.子查詢的執(zhí)行效率居然受制于外層查詢的記錄數(shù). 還不如用join或者拆成2個(gè)查詢. 不過(guò),5.6里都有了很多優(yōu)化. 即使這優(yōu)化早該來(lái)臨.
-------------------------------------------------------------------
8.7.1 BLOB和TEXT都是BLOB類型,服務(wù)器不能在內(nèi)存臨時(shí)表中存儲(chǔ)BLOB值,只能在磁盤(pán)中創(chuàng)建,所以效率很低. 可以通過(guò)SUBSTRING()函數(shù)將值轉(zhuǎn)換為VARCHAR,或者使用基于內(nèi)存的文件系統(tǒng)(GNU/Linux上市tmpfs)
分區(qū)partition看上去簡(jiǎn)單強(qiáng)大,但是都沒(méi)搜到多少文章芯急。一般partition用時(shí)間做range
RAID獨(dú)立磁盤(pán)陣列失驶,又是個(gè)聰明的發(fā)明
20170515
后面一些復(fù)制運(yùn)維什么的對(duì)我來(lái)說(shuō)暫時(shí)還沒(méi)用,也不是很難,沒(méi)有細(xì)看... 最后作者推薦了Sphinx作為全文索引引擎, 我搜了下,solr似乎是個(gè)更好的選擇,我們公司用的也是solr,基于lucene. 四周看完,感覺(jué)效率還挺高.