mysql的大小写对性能的影响问题 待我称王封你为后i 2023-06-18 14:56 3阅读 0赞 # 一. mysql对大小写是否敏感是根据平台区分的 # ## 1. 默认情况下: linux环境严格区分大小写,windows环境下不区分大小写\*\* ## 所以正常开发的时候在本地测试数据库名或者表名大小写没关系,迁移到linux服务器的时候就会报错。一定要注意这个问题. MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 1. 数据库名与表名是严格区分大小写的; 2. 表的别名是严格区分大小写的; 3. 列名与列的别名在所有的情况下均是忽略大小写的; 4. 变量名也是严格区分大小写的; ## 2.linux环境下更改mysql表名大小写不敏感 ## # 编辑配置文件 vi /etc/my.cnf # 在[mysqld]后添加添加 lower_case_table_names=1 # 重启服务 service mysqld stop service mysqld start # 二、sql语句的关键字大小写对sql语句性能的影响 # ## 1. 使用存储过程模拟20万数据 ## # 创建表 CREATE TABLE employees ( id INT NOT NULL, fname VARCHAR(30), lname VARCHAR(30), birth TIMESTAMP, hired DATE NOT NULL DEFAULT '1970-01-01', separated DATE NOT NULL DEFAULT '9999-12-31', job_code INT NOT NULL, store_id INT NOT NULL ) partition BY RANGE (store_id) ( partition p0 VALUES LESS THAN (10000), partition p1 VALUES LESS THAN (50000), partition p2 VALUES LESS THAN (100000), partition p3 VALUES LESS THAN (150000), Partition p4 VALUES LESS THAN MAXVALUE ); # 创建存储过程 CREATE PROCEDURE BatchInsert(IN init INT, IN loop_time INT) -- 第一个参数为初始ID号(可自定义),第二个位生成MySQL记录个数 BEGIN DECLARE Var INT; DECLARE ID INT; SET Var = 0; SET ID = init; WHILE Var < loop_time DO insert into employees(id, fname, lname, birth, hired, separated, job_code, store_id) values (ID, CONCAT('chen', ID), CONCAT('haixiang', ID), Now(), Now(), Now(), 1, ID); SET ID = ID + 1; SET Var = Var + 1; END WHILE; END; # 调用存储过程 CALL BatchInsert(30036, 200000); -- 调用存储过程插入函数 # 测试关键字及字段名,表名大小写对sql执行时间的影响 # select id ,fname lname ,birth ,hired ,separated,job_code,store_id from employees # 0.605s 0.610s 0.572S 平均值0.595 SELECT id ,fname lname ,birth ,hired ,separated,job_code,store_id FROM employees # 0.570S 0.576s 0.594S 平均值:0.580s SELECT ID ,FNAME LNAME ,BIRTH ,HIRED ,SEPARATED,JOB_CODE,STORE_ID FROM EMPLOYEES # 0.634s 0.576s 0.575s 平均值: 0595s select id c1 ,fname c2, lname c3 ,birth c4 ,hired c5,separated c6,job_code c7,store_id c8 from employees # 0.629s 0.653s 0.685s 平均值:0.655s SELECT id c1 ,fname c2, lname c3 ,birth c4 ,hired c5,separated c6,job_code c7,store_id c8 FROM employees # 0.663s .0647s 0.625s 平均值:0.645s SELECT ID C1 ,FNAME C2, LNAME C3 ,BIRTH C4 ,HIRED C5,SEPARATED C6,JOB_CODE C7,STORE_ID C8 FROM EMPLOYEES # 0.648s 0.645s 0.657s 平均值: 0.650s # 总结: # 1. 同样一句sql,性能比较:关键字大写>所有语句大写>所有语句小写 2. 为查询结果相同的sql,为每一列起别名以后使sql语句性能降低 3. 建议在日常开发中将sql的关键字大写,以提高效率
相关 性能瓶颈:Java反射机制对性能的影响分析 Java反射机制是Java语言提供的一种动态获取和设置类、字段和方法属性的能力。虽然反射在某些场景下提供了极大的灵活性,但其对性能的影响也不容忽视。 1. 动态调用消耗资源: 秒速五厘米/ 2024年09月18日 18:09/ 0 赞/ 52 阅读
相关 Java虚拟机JVM对性能影响的常见问题 Java虚拟机(JVM)是运行Java代码的关键部分,它对程序的性能有着显著的影响。以下是一些常见的问题和影响: 1. 内存消耗:Java应用程序在运行过程中需要分配内存。如 悠悠/ 2024年09月11日 20:48/ 0 赞/ 51 阅读
相关 mysql的大小写对性能的影响问题 一. mysql对大小写是否敏感是根据平台区分的 1. 默认情况下: linux环境严格区分大小写,windows环境下不区分大小写\\ 所以正常开发的时候在本地测 待我称王封你为后i/ 2023年06月18日 14:56/ 0 赞/ 4 阅读
相关 mysqldump对mysql数据库的影响 对于想入门或者初级,中级mysql数据库运维人员,了解mysqldump对mysql数据库的影响,是非常必要的,当执行mysqldump命令之后,mysql后台执行了什么,下面 小咪咪/ 2022年11月07日 04:26/ 0 赞/ 216 阅读
相关 Redis性能调优:保存SNAPSHOT对性能的影响 前一段时间,开发环境反馈,Redis服务器访问非常慢,每个请求要数秒时间,重启之后2~3天又会这样。 我查看了一下Linux的性能,没有什么问题。通过 \ redis-cl 落日映苍穹つ/ 2022年08月27日 14:44/ 0 赞/ 171 阅读
相关 mysql查询对大小写不敏感的问题 之前项目到遇到了这样的问题来总结一下 -------------------- 项目中经常用到模糊查询,如:有个username字段的的内容是:AA8121 深碍√TFBOYSˉ_/ 2022年07月15日 00:12/ 0 赞/ 224 阅读
相关 mysql查询对大小写不敏感的问题 之前项目到遇到了这样的问题来总结一下 -------------------- 项目中经常用到模糊查询,如:有个username字段的的内容是:AA8121 雨点打透心脏的1/2处/ 2022年07月15日 00:12/ 0 赞/ 189 阅读
相关 InnoDB 隔离模式对 MySQL 性能的影响 InnoDB 隔离模式对 MySQL 性能的影响 过去的几个月我写了两篇文章,一篇是[InnoDB 事务历史][InnoDB]相关的危险债务,另一篇是关于[MVCC 可能 た 入场券/ 2022年01月27日 08:37/ 0 赞/ 259 阅读
相关 影响mysql性能的因素 有几条我认为是比较重要的,我就列一些,还有的话,我把链接贴出来,大家可以看看 -------------------- 1.limit 1,如果你要查1条或者少数的几条时, 川长思鸟来/ 2021年06月24日 14:36/ 0 赞/ 527 阅读
还没有评论,来说两句吧...