SQL优化-索引 (五)其他注意事项
来源:互联网 发布:nosql数据库和mysql 编辑:程序博客网 时间:2024/05/17 03:17
下面的例子中,共有100万条数据,2004年1月1日以后的数据有50万条,但只有两个不同的日期,日期精确到日;之前有数据50万条,有5000个不同的日期,日期精确到秒。
select gid,fariqi,neibuyonghu,reader,title from Tgongwen
where fariqi>'2004-1-1' order by fariqi
用时:6390毫秒
select gid,fariqi,neibuyonghu,reader,title from Tgongwen
where fariqi<'2004-1-1' order by fariqi
用时:6453毫秒
(五)其他注意事项
“水可载舟,亦可覆舟”,索引也一样。索引有助于提高检索性能,但过多或不当的索引也会导致系统低效。过多的索引甚至会导致索引碎片。
索引是从数据库中获取数据的最高效方式之一。95%的数据库性能问题都可以采用索引技术得到解决。
1. 不要索引常用的小型表
不要为小型数据表设置任何键,假如它们经常有插入和删除操作就更别这样作了。对这些插入和删除操作的索引维护可能比扫描表空间消耗更多的时间。
2. 不要把社会保障号码(SSN)或身份证号码(ID)选作键
永远都不要使用 SSN 或 ID 作为数据库的键。除了隐私原因以外,SSN 或 ID 需要手工输入。永远不要使用手工输入的键作为主键,因为一旦你输入错误,你唯一能做的就是删除整个记录然后从头开始。
3. 不要用用户的键
在确定采用什么字段作为表的键的时候,可一定要小心用户将要编辑的字段。通常的情况下不要选择用户可编辑的字段作为键。这样做会迫使你采取以下两个措施:
4. 不要索引 memo/notes 字段和不要索引大型文本字段(许多字符)
这样做会让你的索引占据大量的数据库空间
5. 使用系统生成的主键
假如你总是在设计数据库的时候采用系统生成的键作为主键,那么你实际控制了数据库的索引完整性。这样,数据库和非人工机制就有效地控制了对存储数据中每一行的访问。
采用系统生成键作为主键还有一个优点:当你拥有一致的键结构时,找到逻辑缺陷很容易。
- SQL优化-索引 (五)其他注意事项
- SQL优化-索引 (四)其他书上没有的索引使用经验总结
- SQL优化、索引优化
- SQL优化:索引优化
- MySql数据库索引优化注意事项
- MySql数据库索引优化注意事项
- mysql索引优化的注意事项
- 【MySQL】基于MySQL的SQL优化(五)——建立索引优化SQL
- Oracle Sql优化注意事项
- sql 优化 注意事项
- sql优化和注意事项
- sql优化注意事项
- SQL优化及注意事项
- sql 优化注意事项
- sql 优化之:聚集索引的重要性和如何选择聚集索引(系列五)
- sql 优化之:聚集索引的重要性和如何选择聚集索引(系列五)
- 索引,通过索引优化sql
- 优化SQL Server索引
- ListCtrl使用技巧
- SQL优化-索引 (四)其他书上没有的索引使用经验总结
- 作者文章阅读次数:3742
- CVS完全手册
- ajax扩展控件(9)
- SQL优化-索引 (五)其他注意事项
- MSDN使用
- Visual Studio 2005 IDE的使用技巧和窍门(转载)
- 使用C#创建SQL Server的存储过程
- SQL优化-索引 (六)改善SQL语句
- setAttribute和getAttribute的区别
- C语言变量命名前缀
- 单例模式的两种实现方式及区别
- [转自徐小平]本科毕业生月薪一万,是多还是少?