我有一个我需要迭代的SQL表。但是,我希望在我的网站启动后这个表会增长。表的大小如何影响SQL迭代它所花费的时间?
答案 0 :(得分:1)
如果您的查询必须进行表扫描,则增加表的大小将花费更多时间。因此,谨慎使用密钥(主要,唯一,索引),允许您对数据集进行二进制搜索并更快地获取数据。
随着时间的推移,您将不得不调整查询。在大多数数据库中,将有分析查询的功能。这种分析可以显示诸如表扫描之类的瓶颈。一些数据库分析工具也可以推荐索引。
例如:
create table employees1 (id int, fullname varchar(100))
vs.
create table employees2 (id int, fullname varchar(100),
primary key(id),
key idx_employees_fullname(fullname))
随着employees1表中数据的增加,像SELECT * from employees1 where fullname like 'John%'
这样的查询将花费越来越长的时间。在employees2上运行的相同查询将使用索引(类似于书后面的内容)快速查找所有John
,因为索引知道哪个id
约翰与之关联。
明智地创建数据库结构和密钥。定期分析和调整数据库对象和查询。这是一个有很多潜在答案的问题。