1.CIL连接mysql
mysql -h localhost -P 3306 -u root -proot 大写的P表示端口号,小写的p表示密码,大家记住了 大家要记住,小写的p表示密码,-p和密码之间一定不能有空格,其他的像-u,-h,-P之类的,是可以有空格的,也可以没有空格,如果是本机的话,主机ip和端口号可以不写(即主机ip和端口号可以省略),直接写成mysql -u root -proot 选择特定的数据库: use databasename https://blog.csdn.net/czh500/article/details/849723882.mysql where子句解析顺序
mysql 从左到右,Oracle 从右到左, 将过滤大量数据的子句优先执行,有利于提高执行效率sql语句长度限制:https://blog.csdn.net/yf_man/article/details/781508763.exists 和 in 以及 between之间区别 https://www.cnblogs.com/clarke157/p/7912871.html https://www.cnblogs.com/tianzeng/p/9279593.html
in()适合B表比A表数据小的情况 执行两次sqlexists()适合B表比A表数据大的情况 执行外表.length+1次sql通常情况下采用exists要比in效率高,因为IN不走索引(如果IN里面是子查询,会导致索引失效)明确数值的情况下用 and (id ='1' or id ='2' or id ='3') 走索引,效率高not in:使用not in 时,如果列表查询出来的有 null,则查询不出任何数据。between min and max (mysql包含边界值)、 (数据比较功能 SELECT 'b' BETWEEN 'a' AND 'c' 区间内为 1 否则为 0)查询使用缓存:SQL_CACHE ,不适用缓存:SQL_NO_CACHE4.Date,DateTime,TimeStamp和Time类型
DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以’YYYY-MM-DD HH:MM:SS’格式显示DATETIME值,支持的范围是’1000-01-01 00:00:00’到’9999-12-31 23:59:59’。(“支持”意味着尽管更早的值可能工作,但不能保证他们可以。)DATE类型用在你仅需要日期值时,没有时间部分。MySQL检索并且以’YYYY-MM-DD’格式显示DATE值,支持的范围是’1000-01-01’到’9999-12-31’。TIMESTAMP列类型提供一种类型,你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。TIME数据类型表示一天中的时间。MySQL检索并且以"HH:MM:SS"格式显示TIME值。支持的范围是’00:00:00’到’23:59:59’5.用命令创建mySql数据库
6.mySql 大数据量分页查询优化 书签方式、延迟关联
7.MVVC(Multi-Version Concurrency Control)多版本并发控制机制
8.InnoDB 事务系统
9.InnoDB 隔离性的实现–锁
10.mysql排序
11.详细分析mysql事务日志
12.mysql redo和Binary 日志记录顺序
13.mysql Explain执行计划详解
14.mysql 慢查询优化
15.批量插入数据, insert … select、replace … select 和 load data会有表级锁,为了保证主键自增时,主备一致。
16.mysql相关文章 用ENUM代替 varchar ,尽量使用 not null,
17.压力测试工具 Sysbench,ApacheBench,http_load 18.共享表空间和独立表空间
19.mysql索引知识(B-树 B+树) 不同磁道上扇区的长度不一样,为什么容量还一样
20.MySQL单个字段去重 select *, count(distinct name) from table group by name 21.mysql 连接数查询处理
正在执行的事务:SELECT * FROM information_schema.INNODB_TRX在锁的事务:SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;等待锁的事务:SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;查看所有连接:show full prcesslist;查看服务器状态: show status [like ‘***’]