一. mysql对大小写是否敏感是根据平台区分的
1. 默认情况下: linux环境严格区分大小写,windows环境下不区分大小写**
所以正常开发的时候在本地测试数据库名或者表名大小写没关系,迁移到linux服务器的时候就会报错。一定要注意这个问题. MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
数据库名与表名是严格区分大小写的;表的别名是严格区分大小写的;列名与列的别名在所有的情况下均是忽略大小写的;变量名也是严格区分大小写的;
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 所有语句大写>所有语句小写为查询结果相同的sql,为每一列起别名以后使sql语句性能降低建议在日常开发中将sql的关键字大写,以提高效率
|