php复合索引,关于复合索引和单独索引的一个问题
復合索引
1,shopid ctime
EXPLAIN SELECT COUNT(*) FROM dc_order_menu_log WHERE shopid = 12 AND ctime > 1422720000
查詢行數(shù):4357
單獨索引
分別建立索引shopid ctime
EXPLAIN SELECT COUNT(*) FROM dc_order_menu_log WHERE shopid = 12 AND ctime > 1422720000
key:shopid
查詢行數(shù):2362
問題1:為什么查詢的影響行數(shù)有區(qū)別?
問題2:如果單獨的索引查詢的影響行數(shù)還少,在表中單獨建立索立 這樣的優(yōu)缺點是什么??
回復內(nèi)容:
復合索引
1,shopid ctime
EXPLAIN SELECT COUNT(*) FROM dc_order_menu_log WHERE shopid = 12 AND ctime > 1422720000
查詢行數(shù):4357
單獨索引
分別建立索引shopid ctime
EXPLAIN SELECT COUNT(*) FROM dc_order_menu_log WHERE shopid = 12 AND ctime > 1422720000
key:shopid
查詢行數(shù):2362
問題1:為什么查詢的影響行數(shù)有區(qū)別?
問題2:如果單獨的索引查詢的影響行數(shù)還少,在表中單獨建立索立 這樣的優(yōu)缺點是什么??
其實綜合來講就是單索引與復合索引的區(qū)別不同問題
索引的目的是為了快速找到所需的記錄
但復合索引在數(shù)據(jù)庫操作期間所需的開銷更小,可以代替多個單一索引。
尤其當表的行數(shù)遠遠大于索引鍵的數(shù)目時,使用這種方式可以明顯加快表的查詢速度。
再說說為啥行數(shù)有區(qū)別,因為多索引是組合而成的。在shopid基礎上再查詢ctime
而單獨索引 shopid與ctime分別查詢,這樣一旦數(shù)據(jù)量多了,會有微小差異。
相關(guān)標簽:php
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的php复合索引,关于复合索引和单独索引的一个问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fastdfs php client,c
- 下一篇: 塔吊指挥操作证要怎么考?