>>与软件开发有关的知识:操作系统,数据库,网络通信等 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 24109 个阅读者 刷新本主题
 * 贴子主题:  数据库建立索引的原则 回复文章 点赞(0)  收藏  
作者:mary    发表时间:2020-06-16 08:58:01     消息  查看  搜索  好友  邮件  复制  引用

      数据库建立索引的原则

1,确定针对该表的操作是大量的查询操作还是大量的增删改操作。

     2,尝试建立索引来帮助特定的查询。检查自己的sql语句,为那些频繁在where子句中出现的字段建立索引。

     3,尝试建立复合索引来进一步提高系统性能。修改复合索引将消耗更长时间,同时,复合索引也占磁盘空间。

     4,对于小型的表,建立索引可能会影响性能

     5,应该避免对具有较少值的字段进行索引。

     6,避免选择大型数据类型的列作为索引。

     索引建立的原则

     索引查询是数据库中重要的记录查询方法,要不要进入索引以及在那些字段上建立索引都要和实际数据库系统的查询要求结合来考虑,下面给出实际中的一些通用的原则:
  1.   在经常用作过滤器的字段上建立索引;
  2.   在SQL语句中经常进行GROUP BY、ORDER BY的字段上建立索引;
  3.   在不同值较少的字段上不必要建立索引,如性别字段;
  4.   对于经常存取的列避免建立索引;
  5.   用于联接的列(主健/外健)上建立索引;
  6.   在经常存取的多个列上建立复合索引,但要注意复合索引的建立顺序要按照使用的频度来确定;
  7.   缺省情况下建立的是非簇集索引,但在以下情况下最好考虑簇集索引,如:含有有限数目(不是很少)唯一的列;进行大范围的查询;充分的利用索引可以减少表扫描I/0的次数,有效的避免对整表的搜索。当然合理的索引要建立在对各种查询的分析和预测中,也取决于DBA的所设计的数据库结构。
----------------------------
原文链接:https://www.jianshu.com/p/9c8e2bb89d07
作者: 会飞的鱼

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-06-18 11:22:59 重新编辑]
  Java面向对象编程-->输入与输出(上)
  JavaWeb开发-->JSP中使用JavaBean(Ⅱ)
  JSP与Hibernate开发-->数据库事务的并发问题的解决方案
  Java网络编程-->创建非阻塞的HTTP服务器
  精通Spring-->创建综合购物网站应用
  Vue3开发-->通过Vuex进行状态管理
  SSL知识简介
  一条垃圾SQL,把 64 核 CPU 快跑崩了!
  神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程
  Zabbix中文使用手册
  PostgreSQL pg_rewind实例--could not find previous WA
  老生常谈!数据库如何存储时间?你真的知道吗?
  MySQL 连接
  SQL 撤销索引、表以及数据库
  SQL FOREIGN KEY 约束
  SQL NOT NULL 约束
  SQL FULL OUTER JOIN 关键字
  Linux 云服务器
  管理密码策略
  从十年运维看“云”维趋势
  电脑启动不起来,提示Reboot and select proper boot device ...
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。