MySQL
zhanghe_zht
这个作者很懒,什么都没留下…
展开
-
mysql命令行连接
【代码】mysql命令行连接。原创 2023-09-26 12:39:06 · 479 阅读 · 0 评论 -
mysql8 建立SPATIAL KEY 空间索引未生效问题解决
mysql8使用gis功能,建立SPATIAL KEY 空间索引,explain发现索引未生效。多次实验后发现,必须添加SRID配置(注释),索引才能生效。原创 2023-06-09 10:50:14 · 1163 阅读 · 2 评论 -
Mysql8.0 gis支持
在用户进行插入时可以使用ST_GeomFromText等函数来将WKT格式的GIS数据转换成内部格式进行插入,在进行查询时可以使用ST_AsText函数来将内部数据转换为更直观的WKT结果格式。GEOMETRY:不可实例化的数据类型,但是可以作为一个列的类型,存储任何一种其他类型的数据。原创 2023-04-27 15:08:47 · 877 阅读 · 0 评论 -
分库分表,shardingJdbc和Mycat区别
sharding-jdbc后续发展为Sharding-Sphere,包含sharding-jdbc、Sharding-Proxy、Sharding-Sidecar。时间范围策略通常用于冷热数据分离,例如美团限查近3个月的订单,量体比较大,而且历史数据使用相对较少。城市这种分表策略,类似于多租户的概念,业务处理场景一样,但是数据独立。shardingJdbc和Mycat都可以用来分库分表。3、城市-有明显业务特征的分表。关于分表策略通常分为三种。2、范围分表-通常是时间。原创 2023-04-25 15:23:26 · 1300 阅读 · 0 评论 -
Mysql架构
原创 2023-03-29 15:32:49 · 53 阅读 · 0 评论 -
Mysql4个隔离级别
事务读取:加读锁(每次select完不会释放锁,而是事务结束后才释放)(如果是Mysql的innodb还会加间隙锁)。解决问题:脏写、脏读、不可重复读,幻读(如果是Mysql的innodb则已解决)不管读取还是修改所有的事务串行化执行,一个事务的执行必须等其他事务结束。存在问题:幻读 (如果是Mysql的innodb则不存在)。事务读取:加读锁(每次select完成都会释放读锁)存在问题:脏读,不可重复读、幻读。存在问题:不可重复读、幻读。解决问题:脏写、脏读。原创 2023-03-29 15:25:38 · 368 阅读 · 0 评论 -
Mysql PROCEDURE+EVENT 定时清理数据
当前时间 - 某行expire_date字段 >= 0 ,删除数据。每天执行一次PROCEDURE。原创 2023-02-22 11:14:55 · 88 阅读 · 0 评论 -
sql函数: 多级树状目录-根据父ID查询出所有的子ID
https://blog.csdn.net/qq_35206261/article/details/82107127SELECT t3.idFROM ( SELECT t1.id, t1.parent_id, t2.*, IF(FIND_IN_SET(t1.parent_id, @pids) > 0, @pids := CONCAT(@pids, ',', t1.id), 0) AS isChild FROM ( SELECT id, parent_id FROM sy转载 2022-01-20 14:17:52 · 677 阅读 · 0 评论 -
sql分页查询
https://www.cnblogs.com/bbgasj/archive/2012/11/06/2756567.html转载 2021-04-13 15:42:32 · 115 阅读 · 0 评论 -
Mysql: undo log, redo log, binlog,relay log
https://blog.csdn.net/u010002184/article/details/88526708转载 2020-11-26 22:41:44 · 163 阅读 · 0 评论 -
Mysql中的 MVCC
MVCC(Mutil-Version Concurrency Control),就是多版本并发控制。MVCC的实现,是通过保存数据在某个时间点的快照来实现的。即为:不管需要执行多长时间,每个事务看到的数据都是一致的。innodb的MVCC,是通过在每行记录后面保存两个隐藏的列来实现的。这两个列,一个是行的创建时间,一个保存行的过期时间。存储的是系统版本号,不是真实的时间。每开始一个新的事务,系统版本号都会自动递增。事务开始时刻的系统版本号会作为事务的版本号,用来和查询到的每行记录的版本号进行比较。在R转载 2020-11-17 11:38:47 · 121 阅读 · 0 评论 -
Mysql索引
索引失效情况:有or;复合索引未用左列字段;like以%开头;需要类型转换;where中索引列有运算;where中索引列使用了函数;转载 2020-10-18 20:52:46 · 106 阅读 · 0 评论 -
SQL join
1 左连接Select * from A Left Join B On A.id= B.id2 右连接Select * from A Right Join B On A.id = B.id3 内连接Select * from A Inner Join B On A.id = B.id4 左独有Select * from A Left Join B On A.id = B.id where B.id is NULL5 右独有Select * from A Right Joi原创 2020-10-18 20:46:57 · 91 阅读 · 0 评论 -
Mysql 慢查询优化
常见的慢查询优化(1)索引没起作用的情况(2)优化数据库结构(3)分解关联查询(4)优化LIMIT分页(5)分析具体的SQL语句慢查询优化转载 2020-10-18 20:29:18 · 92 阅读 · 0 评论 -
mysql Explain用法
EXPLAIN简介使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。➤ 使用方式如下:EXPLAIN +SQL语句EXPLAIN SELECT * FROM t1执行计划包含的信息比较重要的字段有:select_type : 查询类型,有简单查询、联合查询、子查询等key : 使用的索引rows : 扫描的行数Explain用法...转载 2020-10-18 20:23:36 · 160 阅读 · 0 评论 -
mysql锁总结
mysql锁总结原创 2020-10-18 20:04:58 · 160 阅读 · 0 评论 -
mysql读写分离,主从复制
1、what 读写分离读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。2、why 那么为什么要读写分离呢?因为数据库的“写”(写10000条数据到oracle可能要3分钟)操作是比较耗时的。但是数据库的“读”(从oracle读10000条数据可能只要5秒钟)。所以读写分离,解决的是,数据库的写入,影响了查询的效率。3、when 什么时候要读写分离原创 2020-10-16 16:55:11 · 137 阅读 · 0 评论