免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 14225 | 回复: 12

[数据库] 数据库索引设计如何让查询做到“蜗牛”变“兔子”? [复制链接]

论坛徽章:
17
天蝎座
日期:2014-03-10 14:35:04数据库技术版块每日发帖之星
日期:2015-12-13 06:20:00IT运维版块每日发帖之星
日期:2015-12-13 06:20:00数据库技术版块每日发帖之星
日期:2015-10-20 06:20:00数据库技术版块每日发帖之星
日期:2015-08-21 06:20:00数据库技术版块每日发帖之星
日期:2015-06-17 22:20:002015年迎新春徽章
日期:2015-03-04 09:57:092015年辞旧岁徽章
日期:2015-03-03 16:54:15技术图书徽章
日期:2015-01-12 17:05:35亥猪
日期:2014-11-09 13:05:04金牛座
日期:2014-09-25 11:28:54处女座
日期:2014-09-15 19:58:36
发表于 2015-07-22 10:28 |显示全部楼层
获奖名单已公布:http://bbs.chinaunix.net/thread-4186328-1-1.html

话题背景  

众所周知,合理的索引设计对于提升数据库的查询速度有非常明显的效果,关系型数据库发展至今已经有几十年的历史了,尽管如今硬件发展已经非常成熟并且硬盘的价格相当的廉价,但是在系统运行的过程中,仍然会出现各种查询慢等性能问题。有时候我们认为“理所应当”很快出结果的语句却让我们等半天才能看到结果,为此很多人也为此被客户和经理催着尽快处理。很多时候,明明客户硬件配置已经非常壕了,但是还是会发生查询慢的情况;有时候,明明创建了索引,但“查询慢”的抱怨仍然会扔给DBA或开发人员;即使是我们根据大牛们的建议,创建了合适的索引,但经过个把月或者是1年的时间,查询速度越来越慢了。

因此,对于数据库索引的功能我们需要进行更深入、细致的了解,才能把索引用的合理,才能及时的调整日益臃肿和倾斜的索引。




讨论话题
1、分享一下你曾经或者经常用到的索引类型。
2、分享一下你创建索引的根据和心得。
3、谈一谈你在索引维护方面的心得体会。



讨论时间
2015年7月22日--2015年8月22日



活动奖励
活动结束后将选取4名讨论精彩的童鞋,每人赠送图书《数据库索引设计与优化》一本作为奖励



活动要求
1、要言之有物,不能低于20个字
2、本次话题不限制数据库品牌和版本,可畅所欲言关于各种数据库的相关问题。



奖品简介
盖国强、姜承尧、金官丁、叶金荣、童家旺一众国内数据库界巨腕争相作序|支付宝、网易、云和恩墨联DB掌门连袂推荐的造是什么书吗?
zcover.jpg
作者: 【美】Tapio Lahdenmaki(塔皮奥·拉赫登迈奇)    Michael Leach(迈克尔·利奇)   
译者: 曹怡倩 赵建伟
出版社:电子工业出版社
出版日期:2015 年6月
开本:32开
页码:296
版次:1-1



内容简介

《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地估算SQL 运行的CPU 时间及执行时间,帮助读者从原理上理解SQL、表及索引结构、访问方式等对关系型数据库造成的影响,并能够运用量化的方法进行判断和优化,指导关系型数据库的索引设计。




样章试读
数据库索引设计与优化.doc (64.5 KB, 下载次数: 47)

论坛徽章:
17
CU大牛徽章
日期:2013-03-13 15:32:352017金鸡报晓
日期:2017-02-08 10:33:21fulanqi
日期:2016-06-17 17:54:25lufei
日期:2016-06-17 17:38:40平安夜徽章
日期:2015-12-26 00:06:30冥斗士
日期:2015-11-25 14:38:112015年辞旧岁徽章
日期:2015-03-03 16:54:15亥猪
日期:2015-01-26 17:23:43CU大牛徽章
日期:2013-04-17 11:02:58CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:01:45
发表于 2015-07-23 09:27 |显示全部楼层
支持!牛人们快来解惑

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
发表于 2015-07-23 16:36 |显示全部楼层
没有索引的时候,前端界面一直转圈圈,甚至功能打不开、app闪退都出现过
加一个索引后啥问题没有,系统健步如飞

DBA尽量提前介入应用,做到上线前表结构和索引的合理化,后续再跟进逐步调整

论坛徽章:
7
亥猪
日期:2013-10-10 17:00:29辰龙
日期:2013-10-12 16:23:19卯兔
日期:2013-11-18 17:01:27金牛座
日期:2014-09-09 10:17:052015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之柏太阳神
日期:2015-09-25 13:56:42数据库技术版块每日发帖之星
日期:2016-08-06 06:20:00
发表于 2015-07-23 17:58 |显示全部楼层
至于索引这章节;我是看《收获,不止是oracle》让我收获不少。

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
发表于 2015-07-23 18:47 来自手机 |显示全部楼层
是一本书的么

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-03 17:33:522015元宵节徽章
日期:2015-03-06 15:50:39IT运维版块每日发帖之星
日期:2016-01-11 06:20:00IT运维版块每日发帖之星
日期:2016-03-19 06:20:0019周年集字徽章-19
日期:2019-09-06 18:56:11
发表于 2015-07-24 10:05 |显示全部楼层
多谢推荐,先试读。

论坛徽章:
4
IT运维版块每日发帖之星
日期:2015-08-04 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:002015亚冠之阿尔艾因
日期:2015-11-08 10:27:01CU十四周年纪念徽章
日期:2020-11-05 14:10:23
发表于 2015-07-24 10:28 |显示全部楼层
1、分享一下你曾经或者经常用到的索引类型。
    索引根据不同的分法,有唯一和非唯一索引,有复合索引,根据不同的存储技术又分为B-tree索引,位图索引,域索引等,用的比较多的还是B-tree索引,当然B-tree的又分好几种,Nomal,Reverse Key,Descending,Function  based.
2、分享一下你创建索引的根据和心得。
     在搜索和查询表达式中经常使用的要建索引;用于连接表的keys最好建索引;高选择性的keys最好建索引;外键keys最好建索引.键和表达式只有少数几个不同的值,除了在数据仓库中的位图索引没必要建索引.
3、谈一谈你在索引维护方面的心得体会。
    没必要的索引要删掉.可以对索引进行监视,要开始监视一个索引的使用:ALTER INDEX customers_pk MONITORING USAGE;要停止监视一个索引的使用:ALTER INDEX customers_pk NOMONITORING USAGE;V$OBJECT_USAGE包含有关索引使用的信息.

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
发表于 2015-07-24 12:51 |显示全部楼层
当然B-tree的又分好几种,Nomal,Reverse Key,Descending,Function  based
域索引

好像很牛逼的样子,ALTER INDEX customers_pk NOMONITORING USAGE;V$OBJECT_USAGE包含有关索引使用的信息.
你这些概念只有oracle才有啊

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
发表于 2015-07-24 12:51 |显示全部楼层
nail78 发表于 2015-07-24 10:28
1、分享一下你曾经或者经常用到的索引类型。
    索引根据不同的分法,有唯一和非唯一索引,有复合索引,根据 ...


当然B-tree的又分好几种,Nomal,Reverse Key,Descending,Function  based
域索引

好像很牛逼的样子,ALTER INDEX customers_pk NOMONITORING USAGE;V$OBJECT_USAGE包含有关索引使用的信息.
你这些概念只有oracle才有啊

论坛徽章:
4
IT运维版块每日发帖之星
日期:2015-08-04 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:002015亚冠之阿尔艾因
日期:2015-11-08 10:27:01CU十四周年纪念徽章
日期:2020-11-05 14:10:23
发表于 2015-07-24 13:49 |显示全部楼层
本帖最后由 nail78 于 2015-07-24 13:50 编辑

回复 9# lyhabc


    没错,我按oracle的来说的,关系型数据库中,oracle我用的多一些.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP