想问一下索引的小问题,

问题描述

对于索引的一些概念我能理解,但是实际应用可能还不太清晰! 假如一张表, 加了一些没有必要的索引,很少用到, 那么 select * from table 会是加快速度呢,还是减慢,还是没变!  麻烦讲的通俗易懂些!!!

解决方案

对查询基本没有影响,但对插入和更新那个字段的时候会影响比较大,因为涉及到索引的重新整理。这就是很多数据库专家给的建议:索引不是越多越好,而是要根据更新频率和查询频率来具体对待。
解决方案二:
如果只是select * from table这种的话,那么是不走索引的,直接全表扫描,即使你建了索引也没什么用
解决方案三:
有索引必然会增加查询速度,如你所说,无用的索引起到的优化的作用比较小,好的索引能在查询时提高速度1到2个数量级.[索引的缺陷是会降低维护表的效率]
解决方案四:
其实很简单,你插100W记录进去,然后where子句中将索引放最前面做查询,你会发现查询速度快了很多,在没索引的时候,数据库会先遍历整张表,而有索引的话,它会先在索引中查找,我的理解就像翻书一样,有目录看起来更快,但是你一加东西进去,目录就要改变。在插入和更新表数据的时候,索引也会更新,如果表数据不大,就没必要建立太多索引。我有张800W的数据表,因为种种历史原因,一直没做分割,现在就靠索引来实现查询的速度

时间: 2024-10-31 15:30:20

想问一下索引的小问题,的相关文章

我想问一下,根据不同情况使用索引器或属性的问题

问题描述 我想问一下,根据不同情况使用索引器或属性的问题 需要定义100个参数,我打算先定义个结构,然后初始化该结构类型的指针.使用参数时会根据其get set方法灵活调用参数.但索引器和属性是不是根据如下情况使用:如果100个参数都是同一个类型,就用索引器封装:如果100个参数类型是五花八门(诸如参数0~3是int,4~7为double,8为bool,9位float等)的,那就用属性封装更好?????? 解决方案 所引起一般用在你有一个列表,你通过一个索引去访问列表中的元素,如果你是个杂乱无章

java-今天面试的时候遇到一个问题,查三张表,有一百万条纪录,怎么查?他是想问什么,数据库优化吗

问题描述 今天面试的时候遇到一个问题,查三张表,有一百万条纪录,怎么查?他是想问什么,数据库优化吗 今天面试的时候遇到一个问题,查三张表,有一百万条纪录,怎么查?他是想问什么,数据库优化吗 解决方案 我不认为索引或分页是重点. 那不是怎么查的问题,而是怎么优化数据库的问题. 我觉得应该是查的方式或访问数据的方式,防止内存溢出,两种方法. 1.用游标查,而不是一下子取到内存中. 2.一回查询一定量数据,取多回. ps: 查的时候,在有必要的时候加上HINT句,可以优化效率. 这个你也说了的话,我觉

我想问关于java随机数的问题,这两个随机获取哪个好?

问题描述 我想问关于java随机数的问题,这两个随机获取哪个好? 第一个: public static void SuiJiZiFuChuan(int x, int y) { for (int j = 0; j < y; j++) { for (int i = 0; i < x; i++) { int a = (int) (100 * Math.random() + 100 * Math.random()); //区别在这里,那个好 while (true) { if (a > 96 &

想问下广州4年。net工作经验 月薪多少合适?

问题描述 本人大专学历,2年winform开发经验,2年多asp.net开发经验,工作经验4年半,曾经带过小团队.现在任职外企公司(外包公司)作为一名.NET开发工程师.个人认为我c#和.NET能力较稳固熟练,对.NET底层机制较了解,我学习觉悟和学习能力都较强,现在在学习Andriod.不过说实话,这几年的工作现在想起有点乱,首先是行业不定,不能把自己归纳到某一行业当中,这有点不好.其次,技能单一,大学毕业到现在一直从事.NET开发,对Java虽有所学习,但实际经验为0:还有,虽然自主学习了M

想问一下大牛们,怎样策划一个自已的人生,使自已月入1w+?

问题描述 想问一下大牛们,怎样才能使自已月入1W+?本人做程序也都有3年了,一直都是用c#做winform开发,工资,现在是3.5k.工作地点在广东东莞.现在作个5年规划,5年后月入1w,那具体需要什么技能?应该怎样做好自已的人生策划?需要转语言吗?如转为c,c++,java??需要转工作为非编码吗?如转为项目负责人等等.还是月工资5k,然后去做外快,5k/月?有点迷茫,恳请大牛们指点.非常谢谢. 解决方案 解决方案二:应该深入了解C#,有了基础就应该更进一步,这样加工资才快...也可以转管理,

想问下list泛型取值问题

问题描述 我想问下如果btsList集合里面的项如果有等于str这个字符串的,就添加到我定义的datatable.fr3_table.Rows.Add(btsList)这个行不通,应该怎么写?我设断点调试的时候,btslist集合的值都是对的.就是不知道怎么赋值到我Datatableforeach(MatchminmcTwo){MatchCollectionmcSn=reg.Matches(m.ToString());stringstr=Regex.Replace(mcSn[0].Value,"

SQL Server 数据库索引其索引的小技巧_MsSql

一.什么是索引 减少磁盘I/O和逻辑读次数的最佳方法之一就是使用[索引] 索引允许SQL Server在表中查找数据而不需要扫描整个表. 1.1.索引的好处: 当表没有聚集索引时,成为[堆或堆表] [堆]是一堆未加工的数据,以行标识符作为指向存储位置的指针.表数据没有顺序,也不能搜索,除非逐行遍历.这个过程称为[扫描].当存在聚集索引时,非聚集索引的指针由聚集索引所定义的值组成,所以聚集索引变得非常重要. 因为页面大小固定,所以列越少,所能存储的行就越多.由于非聚集索引通常不包含所有列,所以一般

SQL Server 数据库索引其索引的小技巧

一.什么是索引 减少磁盘I/O和逻辑读次数的最佳方法之一就是使用[索引] 索引允许SQL Server在表中查找数据而不需要扫描整个表. 1.1.索引的好处: 当表没有聚集索引时,成为[堆或堆表] [堆]是一堆未加工的数据,以行标识符作为指向存储位置的指针.表数据没有顺序,也不能搜索,除非逐行遍历.这个过程称为[扫描].当存在聚集索引时,非聚集索引的指针由聚集索引所定义的值组成,所以聚集索引变得非常重要. 因为页面大小固定,所以列越少,所能存储的行就越多.由于非聚集索引通常不包含所有列,所以一般

php 集成环境-我想问下php的集成环境的php版本和安装的php程序版本之间怎么样才能使用呢?

问题描述 我想问下php的集成环境的php版本和安装的php程序版本之间怎么样才能使用呢? 我想问下php的集成环境的php版本和安装的php程序版本之间怎么样才能正常使用呢?就是说哪个版本高一些 解决方案 可以参考下这篇文章http://blog.csdn.net/oneym/article/details/48050487 解决方案二: wamp集成环境下升级php版本集成的PHP环境的使用Linux环境Nginx安装多版本PHP