数据库性能调优

时间:2014-01-23 19:53:09

标签: sql performance database-administration sql-tuning

有一个用户表,有1000万条记录, 以下是表的架构 user(user_id,user_name,first_name,last_name,address)

当在上表中运行以下select时,运行查询需要18分钟,整个数据库在此期间会变慢。

select user from user user_id = 1000 and username ='test';

在这种情况下,我们如何加快选择和/或提高数据库性能?

2 个答案:

答案 0 :(得分:1)

这里有一些提示,

1.如果userid不是唯一/主键,则会在userid和username(分组索引)上添加索引,以确保提高性能

2.如果可以使用户ID自动生成和主键,如果这样做,您的查询将减少到

“select * from user user_id = 1000”,单个索引会更快(userid默认为主键),与分组索引相比可以节省空间

3.性能改进的基本规则,总是只获取所需的列(select * from is worst always)

不要忘记在创建索引后运行runstats和reorg

上面提到的

聚簇索引也有帮助,但聚簇索引需要更多空间。(如果你的查询可以在你的情况下得到改进或减少,为什么要浪费更多空间)

希望这会有所帮助..

答案 1 :(得分:0)

确保user_id上有聚簇索引,'test'上有非聚集索引。

保证性能提升10,000%