![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 92
啦啦啦lir
这个作者很懒,什么都没留下…
展开
-
mysql5.7 索引where和orderby排序问题
索引(a,b,c)select * from table where a=1 and b=2 order by a; 索引排序select * from table where a=1 and b=2 order by b; 索引排序select * from table where a=1 and b=2 order by c; 索引排序select * from t...原创 2020-03-13 14:23:21 · 4047 阅读 · 1 评论 -
分区表的实现
一、查看是否支持分区show plugins;二、新建分区表CREATE TABLE `customer_login_log` ( `customer_id` int(10) unsigned NOT NULL, `login_time` datetime NOT NULL, `login_ip` int(10) unsigned NOT NULL, ...原创 2019-09-27 15:19:18 · 253 阅读 · 0 评论 -
mysql分页最后几页慢的问题
原始sqlSELECT idFROM tableWHERE xxx_id = 1LIMIT 800000,20使用索引覆盖扫描,就是select后面检出的是索引列,而不是所有的列,而且这个索引的列最好是id。然后再做一次关联查询返回所有的列。上述的sql可以写成:id和xxx_id为索引SELECT *FROM table tI...原创 2019-09-28 16:01:31 · 1308 阅读 · 0 评论 -
开启慢查询
一、是否开启慢查询show variables like 'slow_query_log';二、开启慢查询vi /etc/my.cnf# 添加慢查询日志log_output=fileslow_query_log=onslow_query_log_file = /var/log/mysql-slow.loglog_queries_not_using_indexes=on...原创 2019-09-28 16:50:43 · 141 阅读 · 0 评论 -
mysql新建用户,修改权限
查看用户:SELECT * FROM mysql.user新增用户:CREATE user 'li1'@'localhost' IDENTIFIED BY 'Li123456!';删除用户:drop user 'li1'@'localhost';修改用户名:rename user 'li1'@'localhost' to 'li2'@'localhost';...原创 2019-09-29 17:26:28 · 152 阅读 · 0 评论 -
mysqldump备份
新增备份用户:CREATE user 'backup'@'localhost' IDENTIFIED BY 'Li123456!';添加权限:grant select,reload,lock tables,replication client,show view,event,process on *.* to 'backup'@'localhhost';备份成.sql文件...原创 2019-09-29 18:00:27 · 198 阅读 · 0 评论 -
恢复数据库【待完善】
一、从.sql恢复数据①mysql -uroot -p123456 text_db < runoob.sql②mysql> use abc;mysql> source /home/abc/abc.sql二、从备份表中恢复删除的数据对比表差异,然后重新插入删除的数据INSERT INTO test.customer_login_log( `cu...原创 2019-10-07 14:20:12 · 134 阅读 · 0 评论 -
mysql读写分离,负载均衡
主从复制的方式①基于二进制日志②基于GTID复制原创 2019-10-02 09:24:53 · 222 阅读 · 0 评论 -
MySQL常用存储引擎及特点
一、InnoDB存储引擎从MySQL5.5版本之后,MySQL的默认内置存储引擎已经是InnoDB了,他的主要特点有:(1)灾难恢复性比较好;(2)支持事务。默认的事务隔离级别为可重复度,通过MVCC(并发版本控制)来实现的。(3)使用的锁粒度为行级锁,可以支持更高的并发;(4)支持外键;(5)配合一些热备工具可以支持在线热备份;(6)在InnoDB中存在着缓冲管理,通过缓冲池,...原创 2019-10-07 14:19:40 · 498 阅读 · 0 评论 -
explain分析
mysql> explain select goods_id,goods_name from goods where goods_id in (select goods_id from goods where cat_id=4) \G*************************** 1. row ***************************...原创 2019-10-07 14:36:09 · 309 阅读 · 0 评论 -
索引优化规则
一、索引失败①、前导模糊查询select * from doc where title like '%XX'②、负向条件!=、<>、not in、not exists、not like 等。③、在字段上进行计算不能命中索引。select * from doc where YEAR(create_time) <= '2016'④、字段类型不对#ph...原创 2019-09-26 22:17:00 · 253 阅读 · 0 评论 -
cmd 导入导出sql
导出:mysqldump -u root -proot db_shop > a.sql导入:1、mysql -uroot -proot2、use db_shop3、source d:/DB/a.sql原创 2019-06-10 17:11:13 · 186 阅读 · 0 评论 -
PDO预处理
可以使用多种方式实现预处理:指的是在绑定数据进行执行的时候,可以有多种方式。预处理语句中为变量使用数组指定预处理变量 1、准备预处理语句(发送给服务器,让服务器准备预处理语句) PDOStatement PDO::prepare:类似exec将一条SQL语句发送给Mysql服务器 //PDO::prepare 能够自动的准备一个预处理语句,用户需要准备的只是预处理所要执行的语句 ...转载 2018-04-07 21:12:02 · 508 阅读 · 0 评论 -
MySQL三大范式和反范式
1. 第一范式确保数据表中每列(字段)的原子性。如果数据表中每个字段都是不可再分的最小数据单元,则满足第一范式。比如地址可再分例如:user用户表,包含字段id,username,password2. 第二范式在第一范式的基础上更进一步,目标是确保表中的每列都和主键相关。如果一个关系满足第一范式,并且除了主键之外的其他列,都依赖于该主键,则满足第二范式。例如:一个用户只有一种角色,而一个角色对应多...转载 2018-06-08 09:26:53 · 280 阅读 · 0 评论 -
缓存穿透、缓存并发、缓存失效
一、缓存穿透我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,可能DB就挂掉了。那这种问题有什么好办法解决呢?要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。有一个比较巧妙的作法是,可以将这个不存在...转载 2018-06-08 17:13:07 · 173 阅读 · 0 评论 -
分库分表、分区、读写分离 这些都是用在什么场景下,会带来具体的哪些好处
用处 / 功能读写分离:提高数据库的读性能。分库、垂直分表:分散系统负载,让原来一台机器做的事,变成几台机器来做。水平分表、分区:缩小索引大小,使查找更快。使用场景读写分离:打开一个帖子内容页,需要select帖子表,和帖子评论表,每个耗时10ms的话。每秒1000次查询就是这个数据库的极限了。也就是说,这个论坛只能承载每秒500次访问。那么我们就可以对这个数据库做读写分离,来成倍...转载 2019-02-18 23:42:29 · 1242 阅读 · 0 评论 -
mysql分组取前几条
DROP TABLE IF EXISTS `info`;CREATE TABLE `info` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `views` int(255) DEFAULT ...转载 2019-06-12 15:18:35 · 575 阅读 · 0 评论