我已经阅读了大约20个关于索引性能的主题,但仍有几个问题......
您是否建议在仅包含约2000行的表中索引 userid 列,列 id (自动增量), userid < / strong>(唯一,如ssn), first_name , last_name , phone_num ,当用户登录时,它会在每个页面上显示first_name,last_name,phone_num in,通过使用WHERE userid ='123-45-67890'从表中选择数据?
与1)相同的问题,但行数随着时间的推移而增加,可能远远超过2000?
答案 0 :(得分:3)
当用户登录时,它会在每个页面上显示first_name,last_name,phone_num,方法是使用WHERE userid ='123-45-67890'从表中选择数据
当然,去吧,而不是扫描所有的行,一些寻求就足够了。您将在每个页面上使用该查询。您是否考虑过将这些数据存储在会话中?
当您认为某个表有很多写入时(例如,您正在记录某些内容),您必须将索引保持在最小值。在用户表中,您很可能会有大量读取和少量写入。
此外,如果从中获益的查询不经常运行并且其性能可以接受,则可以考虑不添加索引。
没有索引:
使用索引: