EXPLAIN SELECT a.* FROM gc_fin_rate_info  a LEFT JOIN rbac_user b ON a.owner =b.id; 处理之前的情况. 虽然走了索引,但是type不为ref.分析表的字符集及校验规则   两张表的字符集.引擎.核对规则都是一样的,就是不走索引 翻阅资料发现,mysql的字段也有校对规则,两个字符串比较,要求必须有相同的校对规则,或者是相容的,及左连的表的校对规则的级别高于主表,mysql的校对规则默认有utf8_bin(最高,以二…
在mysql中存在着各种utf8编码格式,如下表:1)utf8_bin2)utf8_general_ci utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写.utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感. 现在假设执行如下命令:create table test_bin (name varchar(32) not null primary key,age int unsigned not null) engine = In…
转于:https://blog.csdn.net/claram/article/details/77574600 首先明确:为什么要用联合索引? 对于查询语句“SELECT E.* FROM E WHERE E.e1=1 AND E.e3=2”涉及到两列,这个时候我们一般采用一个联合索引(e1, e3):而不用两个单列索引,这是因为一条查询语句往往应为mysql优化器的关系只用一个索引,就算你有两个索引,他也只用一个:在只用一个的基础之上,联合索引是会比单列索引要快的: 下面讲讲联合索引的使用规…
为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引.本小节将向读者介绍一些索引的设计原则. 1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录.例如,学生表中学号是具有唯一性的字段.为该字段建立唯一性索引可以很快的确定某个学生的信息.如果使用姓名的话,可能存在同名现象,从而降低查询速度. 2.为经常需要排序.分组和联合操作的字段建立索引 经常需要ORDER BY.GROUP BY.DISTINCT和UNION等操作的字段,排序操…
注意事项: 1)索引并不是越多越好 创建索引是会占用非常多的硬盘空间的,一般来说,一张表的索引的大小是其数据大小的2到3倍: 所以不要随便创建无用的索引,一般来说,只要给学用来做条件(where.order by.group having)的字段加索引就足够了 2)更新.重建索引 REPAIR TABLE tbl_name QUICK;…
1.表的主键.外键必须有索引:2.数据量超过300的表应该有索引: 3.经常与其他表进行连接的表,在连接字段上应该建立索引: 4.经常出现在Where子句中的字段,特别是大表的字段,应该建立索引: 5.索引应该建在选择性高的字段上: 6.索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引: 7.复合索引的建立需要进行仔细分析:尽量考虑用单字段索引代替: A.正确选择复合索引中的主列字段,一般是选择性较好的字段: B.复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单…
字符集 Mysql 的字符集有4个级别的默认设置:服务器级,数据库级,表级和字段级,客户端交互时,也可以指定字符集 # 字符集:是一个系统支持的所有抽象字符的集合.字符是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等 最早的字符集:ASCII码 中国的字符集:gbk,utf8,gbk2312 日本字符集:shift-JIS 韩国字符集:Euc-kr 万国编码:Unicode 字符集 # 常用的字符集: gbk:一个汉字占用2个字节 utf8:一个汉字占用3个字节 utf8mb4…
热烈推荐:超多IT资源,尽在798资源网 声明:本文为转载文章,为防止丢失所以做此备份. 本文来自公众号:GitChat精品课 原文地址:https://mp.weixin.qq.com/s/6V7hNb9Ajf8W2ZqvMw1zBg 索引概念和作用 索引是一种使记录有序化的技术,它可以指定按某列/某几列预先排序,从而大大提高查询速度(类似于汉语词典中按照拼音或者笔画查找). 索引的主要作用是加快数据查找速度,提高数据库的性能. MySQL 索引类型 从物理存储角度上,索引可以分为聚集索引和非…
索引选择性就是结果个数与总个数的比值. 用sql语句表示为: SELECT COUNT(*) FROM table_name WHERE column_name/SELECT COUNT(*) FROM table_name 一般来说(例如书 “SQL Tuning“),如果选择性超过 20% 那么全表扫描比使用索引性能更优. 但MySQL是没有计算索引的选择性的,只是预测逻辑IO操作的数量,因此对于MySQL索引要慎重选择. 举个栗子,tinyint类型的列,用以保存性别,就算用上“保密”和“…
elasticsearch集群中一次删除kibana索引引发的血案 1.问题发生的过程: 早上的时候有某个索引无法看到报表数据,于是就点该报表多次,估计集群被点挂了,报错:Elasticsearch is still initializing the kibana index 当时有点慌估计是昏了头,直接根据baidu某篇博文的提示进行了操作 curl -XDELETE http://localhost:9200/.kibana 这下悲剧发生了,kibana控制台没有东西了,业务部门无法查询报表…