美文网首页
mysql优化

mysql优化

作者: AFew | 来源:发表于2018-12-18 15:20 被阅读0次
mysql表复制
  1. 复制表结构
    create table student like user;
  2. 复制表数据
    insert into student select * from user;
mysql索引
  • 查看索引
    show index from user\G
    1.普通索引
    创建
    create index i_age on user(age)
    删除
    drop index i_age on user
    2.唯一索引
    创建
    create unique index u_username on user(username)
    删除
    drop index u_username on user
mysql视图
  1. 创建
    create view userclass as select user.username,user.age,class.name from user,class where user.class_id=class.id
  2. 删除
    drop view userclass
  3. 查看
    show tables
  4. 查看视图数据
    select * from userclass
  5. 视图的特性
    当表中数据发生变化时视图数据也会随着发生变化。
    mysql中查看表中未来的自赠数
    show create table user;

MySQL中的内置函数

1.字符串函数

  • concat(string [...]) 连接字符串
  • lcase(string) 转换成小写
  • ucase(string) 转换成大写
  • length(string) string长度
  • ltrim(string) 去除前端空格
  • rtrim(string) 去除后端空格
  • repeat(string,count) 重复count次
  • replace(str,search_str,replace_str) 在str中用replace_str替换search_str
  • substring(str,position [,length]) position开始,取length个字符
  • space(count) 生成count个空格
  1. 数学函数
  • bin() 十进制转二进制
  • ceiling() 取上一个整数
  • floor() 取下一个整数
  • max() 取最大整数
  • min() 取最小整数
  • sqrt() 开平方
    rand() 求0-1随机数
  1. 日期函数
  • curdate() 当前日期
  • curtime() 当前时间
  • now() 当前时间和日期
  • unix_timestamp() 当前时间戳
  • from_unixtime() 时间戳转日期
  • week(date) 一年中的第几周
  • year(date) 日期中的年部分
  • datediff() 日期的差值
  1. 重排auto_increment方法
  • delete
  • delete from user
  • alter table user auto_increment=2
  1. truncate
    truncate user

mysql中的命令的帮助
? create 简单
? da% 更多
巧用rand()提取随即行
select * from user order by rand limit 3

正则表达式的使用

  1. 以php结尾的数据
    select * from user where username regexp 'php$'
  2. 以php结尾或以linux结尾的数据
    select * from user where username regexp 'php$' or username regexp 'linux$'
  3. 查找包含php或linux或user的数据
    select * from user where username regexp 'php|linux|user'

检查服务器增、删、改和查的使用频次(本次连接以来)
show status like "%Com_update%";
show status like "%Com_insert%";
show status like "%Com_select%";
show status like "%Com_delete%";
检查服务器增、删、改和查的使用频次(本次服务器启动以来)
show global status like "%Com_update%";
show global status like "%Com_insert%";
show global status like "%Com_select%";
show global status like "%Com_delete%";
查innodb自连接以来的影响行数
show status like "%InnoDB_rows%"
定位执行效率较低的sql语句
explain或desc定位一条sql语句的影响行数
desc select * from user where username='user8'\G
查看mysql的慢查询日志
show variables like "%quer%"
slow_query_log | on
查看慢查询的次数
show status like "%quer%"
slow_queries | 0
修改慢查询的时间(my.ini)
long_query_time=n

优化表空间
optimize table sales

check表检查
check table v_user

相关文章

网友评论

      本文标题:mysql优化

      本文链接:https://www.haomeiwen.com/subject/ihrlkqtx.html