我在Mysql中存储了100000的值,并且在两个索引选择之间犹豫了
第一种方法是正常方法,ID自动递增
第二个是将100000值分隔为200个自动增量ID,每个ID具有500个Sub_ID,因此200x500 = 100000
哪个会更快?首先是传统
select value from table where ID = xxx
第二个是
select value from table where ID = xxx and sub_ID = xxx
因为第一个将循环每个单元格,但是第二个仅循环200 ID,然后循环500 Sub_ID,所以从理论上讲,第二个会更好,对吧?
主键一个更快。否则,您将进行多个索引扫描。除非您的值超过1000000000000,否则我不会为“优化”主键而烦恼。
此外,如果您只想获取值而不是ID,则可以创建ID和Value的复合索引,这将是最快的选项,因为该值将包含在索引中,甚至不与您的查询表。