随笔分类 -  mysql高级

摘要:使用的mysql-5.7.20-winx64.zip 在mysql目录中创建my.ini 和 data文件夹 my.ini [mysql] default-character-set=utf8 [mysqld] port = 3306 basedir=E:\mysql-5.7.20-winx64 d 阅读全文
posted @ 2022-02-18 13:25 低调的。。。 阅读(90) 评论(0) 推荐(0) 编辑
摘要:create user root@'%' identified by '1234'; grant all privileges on *.* to root@'%' with grant option; 阅读全文
posted @ 2021-09-02 22:10 低调的。。。 阅读(95) 评论(0) 推荐(0) 编辑
摘要:进入mysql控制台 mysql -u root -p use mysql alter user 'root'@'%' identified with mysql_native_password by '1234'; flush privileges; 阅读全文
posted @ 2021-09-02 22:08 低调的。。。 阅读(39) 评论(0) 推荐(0) 编辑
摘要:主从复制 复制基本原理 MySQL复制过程分为三步: Master将改变记录到二进制日志(Binary Log)。这些记录过程叫做二进制日志事件,Binary Log Events; Slave将Master的Binary Log Events拷贝到它的中继日志(Replay Log); Slave 阅读全文
posted @ 2021-08-18 17:30 低调的。。。 阅读(78) 评论(0) 推荐(0) 编辑
摘要:mysql默认存储引擎innodb自动会添加锁, 使用索引作为检索条件修改数据时采用行锁,否则采用表锁(索引失效时)。 读锁(共享锁): 不同的线程或进程读取表不会相互影响,修改表会相互影响,某线程锁了表后只能读取该表,不能修改表,不能读取其他的表,其他的线程可以读取该表,但修改该表会阻塞 写锁(排 阅读全文
posted @ 2021-08-18 17:02 低调的。。。 阅读(215) 评论(0) 推荐(0) 编辑
摘要:事务的ACID属性 更新丢失 当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,由于每个事务都不知道其他事务的存在,就会发生丢失更新问题―—最后的更新覆盖了由其他事务所做的更新。 例如,两个程序员修改同一java文件。每程序员独立地更改其副本,然后保存更改后的副本,这样就覆盖了原始文档。最 阅读全文
posted @ 2021-08-18 16:07 低调的。。。 阅读(44) 评论(0) 推荐(0) 编辑
摘要:show profile: 查看是否开启功能 show variables like 'profiling'; 开启功能 set profiling=on; 查询数据库(运行查询sql语句) 。。。。 查看profiles show profiles; 查看一号查询语句的cpu,io使用情况(que 阅读全文
posted @ 2021-08-18 11:36 低调的。。。 阅读(165) 评论(0) 推荐(0) 编辑
摘要:show variables like 'log_bin_trust_function_creators'; set global log_bin_trust_function_creators=1; $$用于作为函数运行分割符,与;作区分 调用存储过程插入数据 阅读全文
posted @ 2021-08-18 11:00 低调的。。。 阅读(61) 评论(0) 推荐(0) 编辑
摘要:查看慢查询日志是否开启 SHOW VARIABLES LIKE '%slow_query_log%'; 开启慢查询日志(关闭mysql cmd就会失效 需要消耗资源最好用来测试,不要永久开启) set global slow_query_log=1; 永久开启慢查询日志: 慢查询日志通过该参数(lo 阅读全文
posted @ 2021-08-17 17:54 低调的。。。 阅读(284) 评论(0) 推荐(0) 编辑
摘要:文件排序(FileSort)分为两种:双路排序(又叫回表排序模式):先根据相应的条件取出相应的排序字段和可以直接定位行 数据的行 ID,然后在 sort buffer 中进行排序,排序完后需要再次取回其它需要的字段;单路排序:是一次性取出满足条件行的所有字段,然后在sort buffer中进行排序; 阅读全文
posted @ 2021-08-17 15:32 低调的。。。 阅读(1559) 评论(0) 推荐(0) 编辑
摘要:为什么要小表驱动大表呢 类似循环嵌套 for(int i=5;.......) { for(int j=1000;......) {} } 如果小的循环在外层,对于数据库连接来说就只连接5次,进行5000次操作,如果1000在外,则需要进行1000次数据库连接,从而浪费资源,增加消耗。这就是为什么要 阅读全文
posted @ 2021-08-17 13:45 低调的。。。 阅读(284) 评论(0) 推荐(0) 编辑
摘要:小表驱动大表:主要是使最外层循环减少,连接数据库次数减少,减少资源消耗 explain能做什么? 查看表的读取顺序(id) 数据读取操作的操作类型(select_type) 哪些索引理论上可以使用(possible_keys) 哪些索引被实际使用(key) 表之间的引用(table) 每张表有多少行 阅读全文
posted @ 2021-08-15 17:04 低调的。。。 阅读(77) 评论(0) 推荐(0) 编辑
摘要:索引:排好序的快速查找数据结构 优势: 会影响查询(select)(降低数据库io成本) 排序(order by)(降低cpu的消耗) 劣势: 索引也是一张表,保留了主键和索引字段,并指向实体表的记录,索引也是要占用空间的 降低更新表的速度(增删改),因为在更新表时,mysql不仅要保存数据,也要保 阅读全文
posted @ 2021-08-12 20:47 低调的。。。 阅读(40) 评论(0) 推荐(0) 编辑
摘要:编写顺序 select from join on(join 外连接之类的 on:join的条件) where group by having(group by的条件) order by limit 执行顺序 阅读全文
posted @ 2021-08-12 15:25 低调的。。。 阅读(40) 评论(0) 推荐(0) 编辑
摘要:内连接(inner join) SELECT * FROM test a INNER JOIN test1 b on a.id=b.testid 左外连接(left join)(保留左表所有,没有对应的用null占位) SELECT * FROM test a LEFT JOIN test1 b O 阅读全文
posted @ 2021-08-10 16:48 低调的。。。 阅读(344) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示