17回答

0收藏

决定何时在数据库列表上创建索引?

技术问答 技术问答 527 人阅读 | 17 人回复 | 2022-03-03

我不是分贝家伙。但我需要创建表格并执行它们CRUD操作。我很困惑是否应该默认在所有列中创建索引?这是我在创建索引时考虑的理解。: t3 x! {8 F  E0 t- r
索引基本上包含存储位置范围(从第一个值的开始存储位置到最后一个值的结束存储位置)。因此,当我们将任何值插入表索引时,列值需要更新,因为它有另一个值,但列值的更新不会对索引值产生任何影响。
8 t/ a: `6 X( h7 I* m9 C: l. {正确的?" C3 s. e( F$ N( Y
因此,最重要的是,当我的列用于两个表之间的连接时,我们应该考虑在连接中使用的列上创建索引,但我们可以跳过所有其他列,因为如果我们在它们上创建索引,在新值中更新索引值将涉及额外的成本。3 K, S" |% K) m- O, l1 P7 a3 U
正确的?
) Y: H. l% F8 q' V$ `7 x0 d- p- o考虑到这种情况,表格mytable包括两个三列,即col1,col2,col3。现在我们触发这个查询9 I4 U3 B  y/ @& ~4 N* G2 W
select col1,col2 from mytable这里有两种情况。在第一种情况下,我们是col并创建索引col2.在第二种情况下,我们不创建任何索引。根据我的理解,情况1会比情况2快,因为情况1,oracle您可以快速找到列内存位置。所以我在这里没有使用任何连接列,但索引仍然有帮助。那么我应该考虑在这里创建索引吗?
% ~' g4 _# v/ }4 K如果我们在上述相同情况下解雇,我们该怎么办?
: t0 b/ E! A. T4 u7 Nselect * from mytable代替$ f9 Z2 ?: i5 K# W- n
select col1,col2 from mytable索引对你有帮助吗?
8 W% W% s: c+ B7 U2 g                                                               
  N2 d2 w, k# x" t    解决方案:                                                               
3 g2 g" u. E& o; b. p+ t4 m8 P( n                                                                但列值的更新不会对索引值产生任何影响。正确吗?0 F7 F2 w; P& R5 h4 S' _0 T
否。更新索引列会产生影响。Oracle* q, u. ~! L" C  P" V
11g性能手册指出:
! h7 |) G# ?& I  R8 W1 i修改索引列UPDATE修改索引表的语句和语句INSERT和DELETE语句的时间比没有索引的时间长。这种语句需要更长的时间。SQL索引中的数据和表中的数据必须修改语句。它们还将创建其他取消和重做。
8 p3 t/ l$ z4 c  J因此,最重要的是,当我的列用于两个表之间的连接时,我们应该考虑在连接中使用的列上创建索引,但我们可以跳过所有其他列,因为如果我们在它们上创建索引,在新值中更新索引值将涉及额外的成本。正确的?% ~/ `$ Z# U7 x' Q; `. |
不仅是插入,还有其他数据处理语言语句。
- F* K- S  ~) l) A2 n1 S3 L: |考虑这种情况。。。索引对你有帮助吗?7 D. |- s; f+ Y- l: U
关于最后一段,为什么不使用代表性数据来构建一些测试用例来证明或反对应该索引哪些列的假设?
分享到:
回复

使用道具 举报

回答|共 17 个

林正义

发表于 2022-3-3 23:58:16 | 显示全部楼层

前排支持下
回复

使用道具 举报

行者无惑

发表于 2022-3-5 14:42:17 | 显示全部楼层

楼主呀,,,您太有才了。。。
回复

使用道具 举报

唐盛红律师

发表于 2022-3-6 15:44:07 | 显示全部楼层

无论是不是沙发都得回复下
回复

使用道具 举报

幸运风

发表于 2022-3-7 09:56:17 | 显示全部楼层

我也来顶一下..
回复

使用道具 举报

冬曰阳光

发表于 2022-3-8 05:28:54 | 显示全部楼层

看帖要回,回帖才健康,在踩踩,楼主辛苦了!
回复

使用道具 举报

陈德红

发表于 2022-3-8 16:41:26 | 显示全部楼层

支持,楼下的跟上哈~
回复

使用道具 举报

北斗第八星

发表于 2022-3-8 23:49:00 | 显示全部楼层

在撸一遍。。。
回复

使用道具 举报

旅行的蒲公英

发表于 2022-3-9 05:58:37 | 显示全部楼层

顶起出售广告位
回复

使用道具 举报

宋明佳

发表于 2022-3-9 11:14:34 | 显示全部楼层

纯粹路过,没任何兴趣,仅仅是看在老用户份上回复一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

29055 积分
9659 主题
热门推荐