mysql
文章平均质量分 64
离阳
这个作者很懒,什么都没留下…
展开
-
mysql主从复制
MySQL之间数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”的方式记录在二进制日志中,其他数据库作为slave通过一个I/O线程与主服务器保持通信,并监控master的二进制日志文件的变化,如果发现master二进制日志文件发生变化,则会把变化复制到自己的中继日志中,然后slave的一个SQL线程会把相关的“事件”执行到自己的数据库中,以此实现从数据库和主数据库的一致性,也就实现了主从复...原创 2021-07-12 18:59:21 · 164 阅读 · 1 评论 -
mysql优化之问题查找-慢查询日志,explain
慢查询日志set global slow_query_log='ON' ;开启慢查询,重启失效my.cnf 永久生效show VARIABLES LIKE '%query%';slow_query_log 慢查询是否开启long_query_time 慢查询时间阈值slow_query_log_file 慢查询日志的位置记录的信息:查询慢的sql,sql的执行时间,锁表时间,扫描过的行数慢查询分析工具 mysqldumpslowmysqldumpslow –s c...原创 2021-07-09 11:28:54 · 185 阅读 · 0 评论 -
mysql索引总结
什么是索引:MySQL官方对索引的定义为:索引是帮助MySQL高效获取数据的数据结构。索引相当于字典里的字母表,如果要查某个字,如果不使用字母表,则需要从几百页中逐页去查索引原理:本质:通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,把随机的事件变成顺序的事件。1.索引字段要尽量的小:通过上面的分析,我们知道IO次数取决于b+数的高度h,假设当前数据表的数据为N,每个磁盘块的数据项的数量是m,则有h=㏒(m+1)N,当数据量N一定的情况下,m越大,h越小;而m = 磁盘块的大小原创 2021-07-04 16:42:59 · 116 阅读 · 0 评论 -
mysql索引
MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。一般工作中用到最多的是BTree索引。mysql索引目的:索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才能找到你想要的,如果我想找到m开头的单词呢?或者ze开头的单词呢?是不是觉得如果没有索引原创 2021-07-02 15:16:18 · 80 阅读 · 0 评论 -
MySQL报Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的问题
mysql5.7在使用group by子句时,会遇到如下问题:Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre聚合查询出现这样的报错是因为mysql设定的mode含有 ONLY_FULL_GROUP_BYMySQL 5.7.5及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表的查询引原创 2021-03-25 10:18:53 · 255 阅读 · 0 评论 -
为什么mysql数据库字段要定义为NOT NULL
在mysql数据库中“NULL”和“空值”是不一样的。NULL是一种比较特殊的数据类型,这也可以解释为什么字段设置为NOT NULL,却仍然可以插入空值。设置了NOT NULL之后便不能插入NULL值了,但仍然可以插入像 ' ' 这样的空值。另外空值是不占用空间的,而NULL需要占用空间。在平常我们设计数据表时,如果是索引字段,一定要定义为NOT NULL。因为NULL值会影响cordinat...原创 2019-06-27 16:26:06 · 8505 阅读 · 0 评论 -
MySQL优化
开发过程中,我们经常跟数据库打交道。所以MySQL优化也是我们应该知道的,并且在日常开发中要注意的。关于MySQL优化可以分为三个方面,优化sql查询语句,优化数据库结构,优化MySQL服务器。优化查询1.我们可以使用索引查询,对一些关键字段建立索引。2.使用连接查询代替子查询。因为执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,子查询的速度会受到一定的影响。joi...原创 2019-02-21 21:13:28 · 122 阅读 · 0 评论 -
数据库设计规范
数据库的重要性不言而喻。对程序员来说跟数据库打交道更是家常便饭。数据库给开发带来了巨大的便利。我们或多或少的知道一些数据库设计规范,但并不全面。今天我就简单整理一下,帮自己做个总结梳理,也希望可以帮到小伙伴们。数据库设计规范包括命名规范、库表基础规范、字段规范、索引规范和SQL设计规范。1. 命名规范1.1 库名、表名、字段名禁止使用MySQL保留字。1.2 库名、表名、字段名使...原创 2018-09-02 22:18:16 · 6507 阅读 · 0 评论 -
PHP中利用mysql的锁机制,实现记录访问人数,解决并发问题
上来先上代码$db=mysqli_content('127.0.0.1','root','123456','test');mysqli_query($db,'set names utf8');$preson=1;mysqli_query($db,"lock tables lock_num write");$sql="select num from lock_num where id=1";...原创 2018-05-22 11:48:19 · 580 阅读 · 0 评论 -
mysql中的myisam与innodb存储引擎
提到mysql就需要了解一下它的存储引擎。所谓的存储引擎就是存储数据到硬件或者内存中的一种技术。mysql中的存储引擎常用的主要有myisam和innodb。myisam的索引结构采用的是非聚簇结构。其中主键索引有二个文件,一个是索引文件,一个是数据文件。通过索引查找数据的时候,是通过找到索引下面挂载的数据编号,通过这个编号找到我们的数据区,取出数据。而普通索引与主键索引在硬盘上面的存储方式都是一...原创 2018-04-21 23:18:19 · 170 阅读 · 0 评论