一:对查询就行优化 避免全表查询

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的更多相关文章

  1. MySQL1:MySQL函数汇总

    前言 MySQL提供了众多功能强大.方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求.本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时 ...

  2. mysql-1

    接触mysql已经一年多了,但是平时很少用到,仅限于安装部署,最近在学习运维开发,需要用到数据库,于是买了一本mysql必知必会,给自己一个两个星期的时间,学完这本书, 写这一系列的博客,就是记录学习 ...

  3. [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 ...

  4. mysql1主多从配置

    mysql一主多从的配置: 其实1主多从的配置与一主一从配置非常相似,现在主要讲讲一主多从的大概配置方法. 一, 1,master端开启binlog日志,并且设置server id=1. 2.重启服务 ...

  5. mysql1 - 环境与体验

    一.准备工作 1.mac 软件包管理工具:homebrew 2.brew 如何使用?命令行 输入: brew 3.mac 下如何查看 mysql 目录? find /usr/local/ -iname ...

  6. MySQL1:客户端/服务器架构

    一.MySQL的客户端/服务器架构 前言 之前对MySQL的认知只限于会写些SQL,本篇算是笔记,记录和整理下自己对MySQL不熟悉的地方. 大致逻辑: MySQL的服务器程序直接和我们存储的数据打交 ...

  7. 网络编程-Mysql-1、数据库的启动关闭,创建数据库,表等基本操作

    启动服务端:sudo service mysql start 关闭服务端:suodo service mysql stop 重启服务端:suodo service mysql restart 连接数据 ...

  8. xtrabackup备份mysql-1

    1,在mysql服务器上安装xtrabackup 2,创建备份目录,使用xtrabackup做全备 3,到备份目录查看效果 我这台服务器搭建的是MediaWiki,可以看到wikidb这个库 恢复流程 ...

  9. day21-python操作mysql1

    python的mysql操作 mysql数据库是最流行的数据库之一,所以对于python操作mysql的了解是必不可少的.Python标准数据库接口为Python DB-API, Python DB- ...

随机推荐

  1. web爬虫,requests请求

    requests请求,就是用yhthon的requests模块模拟浏览器请求,返回html源码 模拟浏览器请求有两种,一种是不需要用户登录或者验证的请求,一种是需要用户登录或者验证的请求 一.不需要用 ...

  2. linux中一些常用的目录简要说明

    1.目录结构 /bin:binary的缩写,一些常用的命令如:ls.qwd.cp.cd等命令保存在这个文件内. /boot:启动linux时需要使用到的一些核心文件,以及一些镜像等,删除后系统将无法开 ...

  3. 关于地形altas的处理

    前几天在群里跟人讨论地形atlas的问题,因为Blade也是用的4x4的atlas(16张纹理),但是大概是几年前做的,所以一些细节忘记了,在这里做下备忘. 1.atlas就是图集,图册,把多个纹理打 ...

  4. C++中的内部类

    1.内部类的概念 如果一个类定义在另一个类的内部,这个内部类就叫做内部类.注意此时这个内部类是一个独立的类,它不属于外部类,更不能通过外部类的对象去调用内部类.外部类对内部类没有任何优越的访问权限. ...

  5. Cygwin,一个提供linux命令行体验的Windows命令行工具

    安装 从官网下载,选择合适节点(带edu结尾的优先),安装 使用 未完待续...

  6. pl/sql oracle数据库中文数据显示异常或者不能使用中文查询的解决办法

    1首先我们需要找到pl/sql developer 目录 然后在该目录下 创建一个bat文件 在文件中定义 set NLS_LANG=AMERICAN_AMERICA.UTF8start PLSQLD ...

  7. Java 异常: SimpleDateFormat java.lang.NumberFormatException: multiple points

    Java  SimpleDateFormat 是不支持多线程的.在不同线程同时用 一个 SimpleDateFormat  实例对象做日期装换,或抛出上面的 2 种 异常,所以 用到 SimpleDa ...

  8. supervisor 文档

    supervisor 是用 Python 开发的一个 C/S 服务.是 Linux/Unix 系统下的进程管理工具.它可以很方便的监听.启动.停止.重启一个或多个进程.用Supervisor管理的进程 ...

  9. 上传本地代码到gitHub过程详解

    1.注册Github账号 2.创建自己的GitHub仓库 3.创建自己的Repository(项目的名字等) 4.复制创建仓库的地址到Git命令窗口并执行命令行(Git clone 仓库的复制地址) ...

  10. 黑电平校正BLC

    参考:https://www.cnblogs.com/zhangAlin/p/10661763.html