MYSQL1
一:对查询就行优化 避免全表查询
1.首先考虑在where及order by 列上建立索引
2.where子句 LIKE '%abc%' 前置% 引擎放弃使用索引而进行全表扫描
3.where子句 操作符>,<, != 引擎放弃使用索引而进行全表扫描
4.where子句 空值判断 is null 引擎放弃使用索引而进行全表扫描 可以在空值列设置默认0
5.where子句 or 引擎放弃使用索引而进行全表扫描 可以 select a from b where c=0 union all select a from b where c=1
6.where子句 in 和 not in 引擎放弃使用索引而进行全表扫描 可以 连续的值使用 between and
7.where子句 对字段表达式操作+ - * /等 引擎放弃使用索引而进行全表扫描 可以 where a/2=10 改为 where a=10*2
8.where子句 对字段进行函数操作 引擎放弃使用索引而进行全表扫描
9.where子句 =左边进行函数,算术或者其他表达式操作 无法正确使用索引
10.在使用索引字段做条件时,若为复合索引则需字段顺序和索引顺序相同
11.有时候 exists 比 in 好一些
12.并不是所有索引都有用 索引是根据表中数据进行查询优化的 大量重复数据索引不会起作用 如 字段sex男女
13.一张表中索引不要超过6个,因为insert 和 update 会重建索引 耗时
14.数字字段 只包含数字的字段不要用字符型,会浪费存储空间,降低查询性能
15.varchar和nvarchar 比 char,nchar好 变长字段存储空间小 查询快
16.select * from a 慢 要用具体字段代替 *
本文大部分为个人实践经验,借鉴部分网上前辈所言
MYSQL1的更多相关文章
- MySQL1:MySQL函数汇总
前言 MySQL提供了众多功能强大.方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求.本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时 ...
- mysql-1
接触mysql已经一年多了,但是平时很少用到,仅限于安装部署,最近在学习运维开发,需要用到数据库,于是买了一本mysql必知必会,给自己一个两个星期的时间,学完这本书, 写这一系列的博客,就是记录学习 ...
- [MySQL-1] mysql error 1101 blob/text column can't have a default value
在MySQL Query Browser上创建一个含有TEXT类型的字段,创建不成功,报错:mysql error 1101 blob/text column can't have a default ...
- mysql1主多从配置
mysql一主多从的配置: 其实1主多从的配置与一主一从配置非常相似,现在主要讲讲一主多从的大概配置方法. 一, 1,master端开启binlog日志,并且设置server id=1. 2.重启服务 ...
- mysql1 - 环境与体验
一.准备工作 1.mac 软件包管理工具:homebrew 2.brew 如何使用?命令行 输入: brew 3.mac 下如何查看 mysql 目录? find /usr/local/ -iname ...
- MySQL1:客户端/服务器架构
一.MySQL的客户端/服务器架构 前言 之前对MySQL的认知只限于会写些SQL,本篇算是笔记,记录和整理下自己对MySQL不熟悉的地方. 大致逻辑: MySQL的服务器程序直接和我们存储的数据打交 ...
- 网络编程-Mysql-1、数据库的启动关闭,创建数据库,表等基本操作
启动服务端:sudo service mysql start 关闭服务端:suodo service mysql stop 重启服务端:suodo service mysql restart 连接数据 ...
- xtrabackup备份mysql-1
1,在mysql服务器上安装xtrabackup 2,创建备份目录,使用xtrabackup做全备 3,到备份目录查看效果 我这台服务器搭建的是MediaWiki,可以看到wikidb这个库 恢复流程 ...
- day21-python操作mysql1
python的mysql操作 mysql数据库是最流行的数据库之一,所以对于python操作mysql的了解是必不可少的.Python标准数据库接口为Python DB-API, Python DB- ...
随机推荐
- node环境下express路由,
1.基本路由概念 路由是指确定应用程序如何响应对特定端点的客户端请求,该请求是URI(或路径)和特定HTTP请求方法(GET,POST等). 每个路由都可以有一个或多个处理函数,这些函数在路由匹配时执 ...
- Spark源码系列:DataFrame repartition、coalesce 对比
在Spark开发中,有时为了更好的效率,特别是涉及到关联操作的时候,对数据进行重新分区操作可以提高程序运行效率(很多时候效率的提升远远高于重新分区的消耗,所以进行重新分区还是很有价值的).在Spark ...
- 解析观察者模式在安卓程序中的应用——如何实现跨界面Handler通讯
这里特使用了github中的一个项目作为例子进行解析,地址为:https://github.com/LiqiNew/HandlerFrame/tree/master/handlerFrame/src/ ...
- Javascript 将字符串替换为特定的规律的字符串
Javascript 将字符串替换为特定的规律的字符串 这是测试过程,可以再简化一点. function spinalCase(str) { // "It's such a fine lin ...
- 关闭linux服务器防火墙
--全部关闭 systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewal ...
- day05 模块学习
目录 1.模块简介 2.collections模块常见方法 3.random模块 4.time模块 5.pickle模块 6.json模块 7.os模块 8.sys模块 9.正则表达式 10.re模块 ...
- Jquery 一个页面多个倒计时 实现
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JQuery操作属性、样式、风格(attr、class、css)
样式操作 <p class="myclass" title="选择喜欢的水果">你最喜欢的水果是?</p> 在上面代码中,class也是 ...
- Excel文件上传,高亮错误的行和列
/// <summary> /// Excel模板写入错误信息 /// </summary> /// <param name="fileName"&g ...
- ES - dynamic field mapping
Dynamic field mapping 1.我们向es提交一个json对象进行索引,es会对json字段和索引字段进行字段类型适配. 规则如下: 2.string字段的转换规则 当date det ...