
mysql
浮华饰浮华
小渣渣
展开
-
SQL树结构查询部分要点
basic_tableid pid name 1 小红 2 1 小黄 3 1 小绿 4 1 小蓝 5 小紫 6 5 小青 7 5 小黑 8 5 小白 9 8 小小 1.简单的树结构查询select * from basic_table connect byprior id = p_id ; (从上往下查找)select *...原创 2020-10-10 14:42:49 · 550 阅读 · 0 评论 -
高性能MySQL--高性能的索引策略
正确地创建和使用索引是实现高性能查询的基础。1.独立的列‘独立的列’是指索引列不能是表达式的一部分,也不能是函数的参数。select * from user where id+1 > 5;类似的查询不能正确地使用索引。2.前缀索引通常在待查询的长字符串上截取部分前缀字符串来作为索引列,这样可以大大节约索引空间,从而提高索引效率。但是这样也会大大降低索引的选择性。索引的...原创 2020-01-20 17:35:03 · 273 阅读 · 0 评论 -
MySQL外键关联大表和小表应该怎么驱动
看了网上的一些文章,有的人说大表驱动小表查询更快,有的人说小表关联大表更快。比如:有人支持小表关联大表有人支持大表关联小表这两种观点把我也整蒙了,到底应该大表关联小表,还是应该小表关联大表呢?我先给出我的结论:大表驱动小表为什么这么说呢?实践是检验真理的唯一标准。动手自己测一测就知道了。新建了两张表:big_table,顾名思义就是数据量较大的table,数...原创 2020-01-07 18:00:37 · 2976 阅读 · 2 评论 -
高性能MySQL--选择标识符
为标志列(外键列)选择合适的数据类型非常重要。1.在相关的表中使用相同的数据类型,因为这些列很可能在关联中使用。混用数据类型可能导致隐式类型转换错误。2.MySQL在内部使用整数存储ENUM和SET类型,然后在作比较操作时转换为字符串。3.在可以满足值的范围的需求,并且预留未来增长空间的前提下,应该选择最小的数据类型。4.通常来说整数是标志列最好的选择,因为他们很快并且可以使用au...原创 2020-01-06 11:01:52 · 303 阅读 · 1 评论 -
Mysql精度损失--隐式类型转换的坑
今天在工作中遇到一个小问题,很不起眼的问题,但是很严重.就是mysql精度损失. 为什么我们在进行mysql操作的时候要加引号呢?通常都是字符串需要加引号,而数字就不需要加引号,但是这次我在纯数字的字符串中没有加引号,所以问题就出现. contract是varchar类型,长度为64SELECT * FROM contractinfo WHERE contract = 5101...原创 2018-06-07 15:50:15 · 2281 阅读 · 1 评论 -
Linux下mysql进程死掉,InnoDB: mmap(137363456 bytes) failed; errno 12解决方法
这个问题一直困扰了我很久,在网上查找了很多资料一直没解决我的问题,mysql卸载一次又装一次还是会有这个问题.问题还原:mysql启动时是SUCCESS!但是过了一段时间,进程就死掉了,远程连接失败,重启mysql会报错,错误信息如下:Starting MySQL../usr/local/mysql//bin/mysqld_safe: line 166: 9086 Killed ...原创 2018-10-09 17:28:03 · 795 阅读 · 0 评论 -
Mysql将一张表查询到的数据更新到新的表上
我们在做数据修复时经常遇到这种情形,具体怎么做如下:UPDATE case_query_infoSET statusDate=(SELECT TIME FROM (SELECT MAX(operateTime) AS TIME, caseId FROM operate_log_info GROUP BY caseId) temp WHERE case_query_info.id=te...原创 2019-02-21 14:35:56 · 1764 阅读 · 0 评论 -
mysql分组取最新(最大)的值
在项目开发中通常会遇到这样的需求,主表的一条数据对应着从表的多条数据,而在数据展示时我们有时只需要最新的一条数据时,就需要对从表进行分组并取出最新的数据来关联到主表.但是对于不同版本的mysql可能有一些bug需要我们来处理,如下:用户表 id name 1 小明 2 小红 评论表 id uid content ...原创 2019-06-26 15:47:34 · 930 阅读 · 0 评论