索引,优化sql的一些浅见

避免频繁更新的字段进入索引,增加IO负担

如何减少排序?

1非必要不排序(比如只为了统计总数)2利用索引排序,3减少参与排序的记录数

优化sql的有限选择

优先优化高并发的 SQL,而不是执行频率低某些“大”SQL

时间: 2024-11-01 19:03:49

索引,优化sql的一些浅见的相关文章

通过索引优化sql

sql语句的优化最重要的一点就是要合理使用索引,下面介绍一下使用索引的一些原则: 1.最左前缀匹配原则.mysql会一直向右匹配直到遇到范围查询(>.<.between.like)就停止匹配.所以要尽量把“=”条件放在前面,把范围查询(>.<.between.like)条件放在最后.例:不会用到b的索引:where a=1 and c>0 and b=2 会用到b的索引:where a=1 and b=2 and c>0 2.尽量选择区分度高的列作为索引.区分度的公式是

MySQL添加索引优化SQL

在慢查询日志中有一条慢SQL,执行时间约为3秒 mysql> SELECT     -> t.total_meeting_num,     -> r.voip_user_num     -> FROM     -> (     -> SELECT     -> count(*) total_meeting_num     -> FROM     -> Conference     -> WHERE     -> isStart = 1   

SQL优化的四个方面,缓存,表结构,索引,SQL语句

一,缓存 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO. query_cache_size/query_cache_type (global) Query cache 作用于整个 MySQL Instance,主要用来缓存 MySQL 中的 ResultSet,也就是一条S

优化的四个方面,缓存,表结构,索引,SQL语句

一,缓存 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO. query_cache_size/query_cache_type (global) Query cache 作用于整个 MySQL Instance,主要用来缓存 MySQL 中的 ResultSet,也就是一条S

mysql优化sql语句

mysql优化sql语句 常见误区 www.2cto.com 误区1: count(1)和count(primary_key) 优于 count(*) 很多人为了统计记录条数,就使用 count(1) 和 count(primary_key) 而不是 count(*) ,他们认为这样性能更好, 其实这是一个误区.对于有些场景,这样做可能性能会更差,应为数据库对 count(*) 计数操作做了一些特别的优化. 误区2: count(column) 和 count(*) 是一样的 这个误区甚至在很多

Oracle 建立索引及SQL优化

Oracle 建立索引及SQL优化 数据库索引: 索引有单列索引 复合索引之说 如何某表的某个字段有主键约束和唯一性约束,则Oracle 则会自动在相应的约束列上建议唯一索引.数据库索引主要进行提高访问速度. 建设原则: 1.索引应该经常建在Where 子句经常用到的列上.如果某个大表经常使用某个字段进行查询,并且检索行数小于总表行数的5%.则应该考虑. 2.对于两表连接的字段,应该建立索引.如果经常在某表的一个字段进行Order By 则也经过进行索引. 3.不应该在小表上建设索引. 优缺点:

SQL通用优化方案(where优化、索引优化、分页优化、事务优化、临时表优化)

SQL通用优化方案:1. 使用参数化查询:防止SQL注入,预编译SQL命令提高效率2. 去掉不必要的查询和搜索字段:其实在项目的实际应用中,很多查询条件是可有可无的,能从源头上避免的多余功能尽量砍掉,这是最简单粗暴的解决方案.3. 选择最有效率的表名顺序: 数据库的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表放在最后,如果有3个以上的表连接查询,那就需要选择那个被其他表所引用的表放在最后.

SQL优化之索引优化

这篇文章为Qi总结,如果有不对的希望可以指出. 初级开发人员,一般是接触不到架构,大数据这样的优化方案,而初级开发人员所做的优化一般只有SQl优化.  一·举一个小例子: 在网站中,一般会设计到登录注册,但是登录方式出现了很多种,例如:用户名登录,手机登录,邮箱登陆,微信,微博,QQ,--等等很多种登录方式. 这么多登录方式如果放入一张表中,在编写SQL语句中会出现很多问题: 如果放入一张表中登录方式的SQL语句应该是这样的: select * from user where uname='zh

小蚂蚁学习mysql性能优化(1)--SQL以及索引优化

性能优化之mysql优化 可以从几个方面进行优化 硬件    系统配置    数据库表结构    SQL索引 成本从高到底,效果从低到高. 如何发现有问题的SQL? 使用mysql慢查询日志对有效率问题的sql进行监控. show variables like 'slow_query.log'; set global slow_query_log_file='/home/mysql/sql_log/mysql-slow.log';//日志存放的位置 set global log_queries_