MySQL
文章平均质量分 79
-星雨-
缘不知所起
展开
-
Linux上MySQL的一些命令
Linux上MySQL的一些命令启动 MySQL 服务:sudo service mysqld start用临时密码登录 MySQL 命令:mysql -u root -p关闭服务:service mysqld stop查看数据库进程:ps -ef |grep mysql查看MySQL的状态service mysqld status...原创 2021-06-17 20:57:12 · 58 阅读 · 0 评论 -
select*效率低的原因
select*效率低的原因1. 不需要的列会增加数据传输时间和网络开销2. 对于无用的大字段,如 varchar、blob、text,会增加 io 操作3. 失去MySQL优化器“覆盖索引”策略优化的可能性1. 不需要的列会增加数据传输时间和网络开销用“SELECT * ”数据库需要解析更多的对象、字段、权限、属性等相关内容,在 SQL 语句复杂,硬解析较多的情况下,会对数据库造成沉重的负担。增大网络开销;" * " 有时会误带上如log、IconMD5之类的无用且大文本字段,数据传输size会几转载 2021-06-05 21:56:03 · 134 阅读 · 0 评论 -
MyISAM和InnoDB区别
MyISAM和InnoDB区别MyISAM是MySQL的默认数据库引擎(5.5版之前)。虽然性能极佳,⽽且提供了⼤量的特性,包括全⽂索引、压缩、空间函数等,但MyISAM不⽀持事务和⾏级锁,⽽且最⼤的缺陷就是崩溃后⽆法安全恢复。不过,5.5版本之后,MySQL引⼊了InnoDB(事务性数据库引擎),MySQL5.5版本后默认的存储引擎为InnoDB。⼤多数时候我们使⽤的都是 InnoDB 存储引擎,但是在某些情况下使⽤ MyISAM 也是合适的⽐如读密集的情况下。(如果你不介意 MyISAM 崩溃恢复问原创 2021-06-01 16:03:15 · 73 阅读 · 0 评论 -
存储引擎
存储引擎1. 查看MySQL提供的所有存储引擎2. 查看MySQL当前默认的存储引擎3. 查看表的存储引擎1. 查看MySQL提供的所有存储引擎show engines;从上图我们可以查看出 MySQL 当前默认的存储引擎是InnoDB,并且在8.0版本中所有的存储引擎中只有 InnoDB 是事务性存储引擎,也就是说只有 InnoDB ⽀持事务。2. 查看MySQL当前默认的存储引擎我们也可以通过下⾯的命令查看默认的存储引擎。show variables like '%storage_en原创 2021-06-01 14:29:06 · 68 阅读 · 0 评论 -
MySQL的索引有什么,什么情况下不会用到索引
MySQL的索引有什么,什么情况下不会用到索引1. MySQL中索引有哪些类型1.1 普通索引1.2 主键索引(也叫唯一索引)1.3 复合索引1.4 全文索引1.5 空间索引2. 什么情况下不会用到索引3. 什么情况下不推荐使用索引?4. 额外1. MySQL中索引有哪些类型1.1 普通索引普通索引是MySQL里最基本的索引,没有什么特殊性,在任何一列上都能进行创建。-- 创建索引的基本语法CREATE INDEX indexName ON table(column(length));-- 例原创 2021-05-27 14:42:23 · 835 阅读 · 0 评论 -
事务
事务1. 概念2. 事务的特性:ACID3. 事务的操作4. 隔离性引发的并发问题5. 事务的隔离级别6. LBCC&MVCC6.1 LBCC6.1.1 记录锁(Record Locks)6.1.2 间隙锁(GAP Locks)6.1.3 临键锁(Next-Key Locks)6.1.4 当前读6.1.5 小总结6.2 MVCC6.2.1 隐藏列6.2.2 undo log6.2.3 Read View1. 概念一个事情由 n 个单元组成,这 n 个单元在执行过程中,要么同时成功,要么同时失败,转载 2021-05-18 18:46:15 · 106 阅读 · 0 评论 -
笔记----SQL语句
SQL语句1. limit1. 四个表:course、score、student、teacher2. SQL的题2.1 查询姓“猴”的学生名单2.2 查询课程编号为“2”的总成绩2.3 查询选了课程的学生人数2.4 查询各科成绩最高和最低的分, 以如下的形式显示:课程号,最高分,最低分2.5 查询每门课程被选修的学生数2.6 查询男生、女生人数2.7 查询平均成绩大于60分学生的学号和平均成绩2.8 查询选修大于两门课程的学生学号student表的数据如下:1. limitlimit 使用li原创 2021-04-27 22:56:34 · 939 阅读 · 0 评论 -
MySQL的30条书写建议(下)
MySQL的30条书写建议(下)16.删除冗余和重复索引17、如果数据量较大,优化你的修改/删除语句。18、where子句中考虑使用默认值代替null。19、不要有超过5个以上的表连接20、exist & in的合理利用21、尽量用 union all 替换 union22、索引不宜太多,一般5个以内。23、尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型24、索引不适合建在有大量重复数据的字段上,如性别这类型数据库字段。25、尽量避免向客户端返回过多数据量。26、当在SQL语句中连接多原创 2021-04-21 22:33:34 · 125 阅读 · 0 评论 -
MySQL的30条书写建议(上)
MySQL的30条书写建议(上)1、查询SQL尽量不要使用select *,而是select具体字段。2、如果知道查询结果只有一条或者只要最大/最小一条记录,建议用limit 13、应尽量避免在where子句中使用or来连接条件4、优化limit分页5、优化你的like语句6、使用where条件限定要查询的数据,避免返回多余的行7、尽量避免在索引列上使用mysql的内置函数8、应尽量避免在 where 子句中对字段进行表达式操作,这将导致系统放弃使用索引而进行全表扫=9、Inner join 、left j原创 2021-04-21 20:06:10 · 140 阅读 · 0 评论