随笔分类 - MYSQL基础与优化
索引优化、SQL优化
摘要:MYSQL的锁机制按存储引擎划分 若加上事务需要另外分析 innodb 支持表锁和行锁 行级锁是加在索引上面的,若没有索引,则采取表锁 for update:IX锁(意向排它锁),即在符合条件的rows上都加了排它锁 lock in share mode:是IS锁(意向共享锁),即在符合条件的row
阅读全文
摘要:mysql 执行 sql步骤 client server > 连接器 --> 解析器 > 抽象语法树 > 优化器 (Rbo 基于规则, Cbo 基于成本) 执行器 (与存储引擎交互) 存储引擎 磁盘预读 最小单位页 大小是4K , 预读N4K innodb 默认预读16K,4页 性能监控 sql执行
阅读全文
摘要:group_concat() ###该函数返回带有来自一个组的连接的非NULL值的字符串结果。 简单来说,就是将属于同一个分组的字段进行拼接 SELECT GROUP_CONCAT( k.task_name ) AS 任务名, t1.user_id FROM gci_task k INNER JOI
阅读全文
摘要:延迟关联 能够建立索引的种类分为主键索引、唯一索引、普通索引三种, 覆盖索引只是一种查询的一种效果,利用覆盖索引来进行查询操作,避免回表。用 explain 的结果,extra 列会出现:using index。 利用延迟关联或者子查询优化超多分页场景。 说明:MySQL 并不是跳过 offset
阅读全文
摘要:SERIALIZABLE 串行化 MVCC + Next-Key Lock 幻读: 幻读指的是一个事务在进行一次查询之后发现某个记录不存在,然后会根据这个结果进行下一步操作,此时如果另一个事务成功插入了该记录,那么对于第一个事务而言,其进行下一步操作(比如插入该记录)的时候很可能会报错。从事务使用的
阅读全文
摘要:原子性:undo log 事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部失败回滚。 类似转账:A-100,B+100 这两个操作属于同一个事务, 要么全部执行,要么全部失败回滚。 undo log记录了回滚操作的日志,如果要撤销,按照undo log的回
阅读全文
摘要:数据写入 插入时使用ST_GeomFromText,也可使用GeomFromText 查询数据 查询空间数据 https://blog.csdn.net/xinlingjun2007/article/details/80457079 空间查询函数 包含相关 MBRContains(A,B) –> A
阅读全文
摘要:前言 遵从OpenGIS联盟(OGC)的规范,MySQL实施了空间扩展。OGC是一个由250多家公司、代理机构和大学参与的国际联盟,负责开发公开的概念解决方案,这类解决方案对所有用来管理空间数据的应用都是有用的。OGC的网站是http://www.opengis.org/。 MySQL实施了OGC建
阅读全文
摘要:t_customers 表中的一条记录: 需要的结果: sql实现 如mysql.help_topic: help_topic_id 共有504个数值 它们是mysql内部的连续数列表,连续数列的最大值一定要大于符合分割的值的个数。 mysql 字段截取函数: 1、left(字段名,index) 从
阅读全文
摘要:事务(Transaction)是为解决数据安全操作提出的,事务控制实际上就是控制数据的安全访问。 (银行转账业务,将A账户资金减少和B账户资金增加放到同一个事务里,要么全部执行成功,要么全部撤销,这样就保证了数据的安全性。) 事务是一组原子操作单元,从数据库角度说,就是一组SQL指令,要么全部执行成
阅读全文