美文网首页
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