1:索引,我们最先想到的就是创建索引,创建索引可以成倍的提升查询的效率,节省时间。但是如果数据量太过于巨大的时候,这个时候单纯的创建索引是无济于事的,我们知道假如特别是在大数据量中统计查询,就拿1000W数据来说吧,如果使用count函数的话,最少要50-100秒以上,当然如果你的服务器配置够高,处理够快,或许会少很多但是一样会超过10秒。
单纯的建立索引是无济于事的。我们可以在创建索引的时候给索引加个属性,compress,这个属性可以将所创建的索引进行一个良好的归类,这样的话,查询速度会提升5-10倍,或者更高。但是唯一的缺点是,压缩索引只能手动创建,对于那些KEY是无法进行压缩的,因为KEY(主键)是自动创建的索引,compress必选的属性,一般默认是不创建。所以在创建压缩索引的时候,可以找其他的关键字段进行压缩,比如工单表里面的流水号
2:尽量少的使用那些函数,比如 IS NUll;IS NOT NULL,IN;NOT IN等这样的匹配函数,可以使用符号程序进行操作
3:尽量少使用子查询,如果你写个类,里面模仿子查询的效果,你就会发现,简直在要命,我们可以使用联合查询,或者是外连接查询,这样速度会比子查询快很多。
4:在使用索引的时候,注意如下:
Where子句中有“!=”将使索引失效
select account_name from test where amount != 0 (不使用)
select account_name from test where amount > 0 (使用)
Where条件中对字段增加处理函数将不使用该列的索引
select * from emp where to_char(hire_date,'yyyymmdd')='20080411' (不使用)
select * from emp where hire_date = to_char('20080411','yyyymmdd') (使用)
避免在索引列上使用IS NULL和 IS NOT NULL
select * from emp where dept_code is not null (不使用)
select * from emp where dept_code > 0 (使用)
通配符% 的使用
select * from emp where name like '%A' (不使用索引)
select * from emp where name like 'A%' (使用索引)
分享到:
相关推荐
大数据量表的处理方法对新手很有帮助,希望大家踊跃下载
分区技术讲解,非常详细,有sql。非常详细的文档。
ORACLE中对大数据量表的处理方法.pdf
mysql测试库-包含大数据量表
ORACLE中对大数据量表的处理方法 (1).pdf
在SQL Server 2000中,可以通过分区视图的定义来支持大数据量表的水平拆分和查询时的数据合并,且查询引擎提供的优化机制,使得SQL Server在大数据量条件下的查询性能得到了明显改进.最后,指础了本解决方法所带来的问题...
不错,收集在一块方便查看 这里提供的是执行性能的优化,而不是后台数据库优化器资料: 参考数据库开发性能方面的各种问题,收集了一些优化方案统计如下
DB2删除⼤数据量表⽅法 DB2不⽀持truncate语句时,当⽤delete from table时候,会很慢很慢,笔者 做过⼀些测试对于数据量在百万上的,很慢。故找了⼏种解决 办法: DB2不⽀持truncate语句,当⽤delete from table时候...
Oracle 分区技术及大数据量操作性能优化.ppt
->sqluldr2.exe user=用户名/密码@数据库 query="查询语句" table=表名 head=yes FILE=存放路径 例如:sqluldr2.exe user=u/pass@db query="select * from u.tablename" table=tablename head=yes FILE=d:\inf.csv
MSSQLServer中大数据量表的查询优化 MSSQLServer中大数据量表的查询优化
内含有各种批量导入数据操作,并可以对比执行速度,百万数据导入只需一秒钟
自己扩展的异步分页bbar,对大数据量表的查询很有帮助
本文主要给大家介绍了关于Mysql提升大数据表拷贝效率的相关内容,分享出来供大家参考学习,我们大家在工作上会经常遇到量级比较大的数据表 ; 场景: 该数据表需要进行alter操作 比如增加一个字段,减少一个字段. 这...
大数据-算法-大学生抑郁评定量表的编制及应用研究.pdf
mysql版本号是5.7.28,表A有390W条记录,使用InnoDB引擎,其中varchar类型字段mac已建立索引,...访问类型type是range,且已命中索引,rows行也只有587776,可为什么查询耗时要这么久? mac的索引方法使用了B-tree,那
大数据-算法
随着业务的迅速发展,农业银行...下面笔者从大表、热表的数据分析和优化角度,阐述对大数据量表进行的存储优化。目前农业银行某系统工作流数据量最大且访问最频繁的两张核心表:(1)流程实例表,用于存储系统发起的所有
大数据-算法-糖尿病性视网膜病变证素评定量表的编制及其应用研究