Mysql
来源:互联网 发布:手机qq辅助软件 编辑:程序博客网 时间:2024/06/03 04:01
Mysql
一、设置慢查询开关和时间限制
查看慢查询日志的开启状态: show variables like 'slow_query_log';开启慢查询日志:set global slow_query_log = on;查看慢查询时间:show variables like 'long_query_time';设置慢查询的时间为5秒:set global long_query_time=5;查看慢查询配置情况:show status like '%slow_queries%';
二、sql优化
三、索引优化
四、数据库表结构优化
五、
索引和主键
- 主键一定是唯一性索引,唯一性索引并不一定就是主键。
所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。数据库在设计时,主键起到了很重要的作用。
主键可以保证记录的唯一和主键域非空,数据库管理系统对于主键自动生成唯一索引,所以主键也是一个特殊的索引。 - 一个表中可以有多个唯一性索引,但只能有一个主键。
- 主键列不允许空值,而唯一性索引列允许空值。
- 索引可以提高查询的速度。
索引的分类
多列索引
ALTER TABLE table_name
ADD INDEX index_name ( column1
, column2
, column3
)
1.普通索引。
这是最基本的索引,它没有任何限制。它有以下几种创建方式:
(1)创建索引:CREATE INDEX indexName ON tableName(tableColumns(length));如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB 和 TEXT 类型,必须指定length,下同。
(2)修改表结构:ALTER tableName ADD INDEX [indexName] ON (tableColumns(length))
(3)创建表的时候直接指定:CREATE TABLE tableName ( […], INDEX [indexName] (tableColumns(length)) ;
2.唯一索引。
它与前面的”普通索引”类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:
(1)创建索引:CREATE UNIQUE INDEX indexName ON tableName(tableColumns(length))
(2)修改表结构:ALTER tableName ADD UNIQUE [indexName] ON (tableColumns(length))
(3)创建表的时候直接指定:CREATE TABLE tableName ( […], UNIQUE [indexName] (tableColumns(length));
3.主键索引
它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引:CREATE TABLE testIndex(i_testID INT NOT NULL AUTO_INCREMENT,vc_Name VARCHAR(16) NOT NULL,PRIMARY KEY(i_testID)); 当然也可以用ALTER命令。
Mysql常用的sql:中没有top
– SELECT * from dapmanager_hosts;
– sql 优化,尽量不要用*号
– SELECT * from dapmanager_hosts_resource_info;
– 无on的连接为笛卡尔积结果集
– SELECT * from dapmanager_hosts INNER JOIN dapmanager_hosts_resource_info; – no on JOIN.
– 内连接:自然连接
– SELECT * from dapmanager_hosts host INNER JOIN dapmanager_hosts_resource_info resource on ( host.host_ip = resource.ipAddress );
– SELECT * from dapmanager_hosts host INNER JOIN dapmanager_hosts_resource_info resource on ( host.host_ip = resource.ipAddress and hostName = ‘zdh111’); – no on JOIN.
– 左连接:只有一个连接条件的情况
– SELECT * from dapmanager_hosts host LEFT JOIN dapmanager_hosts_resource_info resource on ( host.host_ip = resource.ipAddress );
– 左连接:多个连接条件
– SELECT * from dapmanager_hosts host LEFT JOIN dapmanager_hosts_resource_info resource on ( host.host_ip = resource.ipAddress and hostName = ‘zdh111’);
– 排序:单个字段或者多个字段联合排序
– SELECT * from dapmanager_hosts_resource_info ORDER BY nodeId;
– SELECT * from dapmanager_hosts_resource_info ORDER BY nodeId DESC,ipAddress ASC;
– SELECT * from dapmanager_hosts_resource_info ORDER BY nodeId DESC,ipAddress ASC;
– 分组:选择好分组的字段
– select * from dapmanager_hosts_resource_info group by nodeId,clusterId;
– 分组:对分组的结果集进行过滤
– select * from dapmanager_hosts_resource_info group by nodeId,clusterId HAVING clusterId = ‘0’;
– 分组:对分组结果进行过滤并排序
– select * from dapmanager_hosts_resource_info group by nodeId,clusterId HAVING clusterId = ‘0’ ORDER BY nodeId;
- Mysql
- MySql
- MYSQL
- MySQL
- mysql
- mysql
- mysql
- mysql
- Mysql
- Mysql
- mysql
- MySQL
- mysql
- Mysql
- mysql
- mysql
- mysql
- mySQL
- JS-12-类的继承与构造器
- Gson和JsonObject
- 浅谈机器学习—朴素贝叶斯法
- 【POJ 1987】树的点分治 Distance Statistics
- POJ
- Mysql
- 谷歌地图API 显示地图添加maker点,信息窗体及事件
- webService集成spring
- java jframe 城市三级联动
- 【HDU1269】迷宫城堡
- 决策树模型调优
- 【题解】 树形dp 守卫部署
- Hadoop-->Flume原理与应用
- POJ 3138 ACM Team Selection 笔记