一、简介利用索引中的附加列,可以缩小搜索的范围,但使用一个具有两列的索引不同于使用两个单独的索引。联合索引的结构与电话簿类似,人名由姓和名构成,电话簿首先按姓氏进行排序,然后按名字对有相同姓氏的人进行排序。如果您知道姓,电话簿将非常有用,如果您知道姓和名,电话簿则更为有用,但如果您只知道名不知道姓,电话簿将没有用处。所以说创建联合索引时,…
一、查询SQL尽量不要使用select *,而是具体字段1、反例SELECT * FROM user2、正例SELECT id,username,tel FROM user3、理由节省资源、减少网络开销。可能用到覆盖索引,减少回表,提高查询效率。注意:为节省时间,下面的样例字段都…
一、简介B-tree即B树,B即Balanced(平衡)的意思。B树是为了实现高效的磁盘存取而设计的多叉平衡搜索树,多用于数据库中。B树的启发来源于二叉查找树,二叉查找树的特点是每个非叶子节点都只有两个孩子节点。这种结构会造成当数据量非常大时,二叉查找树的高度非常大,搜索算法从根节点向下搜索时,需要访问的节点数会变多,如果这些节点信息存储…
-- 查看所有数据库容量大小selecttable_schema as '数据库',sum(table_rows) as '记录数',sum(truncate(data_length/1024/1024/1024, 2)) as '数据容量(GB)',sum(truncate(index_l…
一、问题描述#昨天晚上,测试小妹妹突然发现,保存企业信息的时候突然报错,我在查看日志之后,发现在添加企业管理员的时候保存企业和用户关系时执行sql报错,原因是user_name字段保存不了特殊字符,因为使用的是utf-8的编码格式,因此决定设置为utf8mb4编码格式,来存储用户名称。ALTER TABLE table_name CONV…
1.表字段修复SELECT TABLE_SCHEMA '数据库', TABLE_NAME '表', COLUMN_NAME '…
查看数据库的编码格式123SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';或SHOW VA…
1.存储单位MySQL在5版本以后,varchar(45),指的是45个字符,可以存放45个汉字,或者45个英文字母(一个UTF8汉字和一个英文字母一样,都占用1个字符)。MySQL在4版本以前,varchar(45),指的是45个字节,可以存放15个汉字,或者45个英文字母(一个UTF8汉字占用3个字节,一个英文字母占用1个字节)。2.…
简介本文介绍MySQL的校对规则。MySQL的校对规则两个不同的字符集不能有相同的校对规则。每个字符集有一个默认校对规则。例如:utf8mb4默认校对规则:utf8mb4_general_ci。utf8默认校对规则:utf8_general_ci。存在校对规则命名约定:它们以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不…
查看MySQL支持的字符集的两种方式SHOW CHARACTER SET; (可加子查询 LIKE 'utf%';)SELECT * FROM INFORMATION_SCHEMA.CHARACTER_SETS;mysql> SHOW CHARACTER SET;+----------+…