• Mysql:数据库优化的方法


    数据库优化

    网上参考方法如下:

    1. 一行数据使用 limit 1
    2. 避免使用select *,应该使用具体字段
    3. 表连接join保证字段类型相同并且有其索引
    4. 对于取值有限而固定的使用enum类型(枚举),如性别 国家 名族 部门 状态
    5. delete和insert语句会锁表,所以可以采用分拆语句操作
    6. 选择正确的存储引擎;MyISAM适合大量查询 写操作多用InnoDB支持事务
    7. 每张表都是用id主键,并且是unsigned int
    8. explain select 语句可以知道性能
    9. 为搜索字段重建索引 比如关键字 标签
    10.  尽可能使用not null ip存储使用int(4),使用ip 转化函数ip2long()相互long2ip()
    11. 开启缓存,尽量使用php函数而不是mysql(不会php哈哈)
    12. 随机查询使用php $r = mysql_query("SELECT count(*) FROM user");
      • $d = mysql_fetch_row($r);
      • $rand = mt_rand(0,$d[0] - 1);
      • $r = mysql_query("SELECT username FROM user LIMIT $rand, 1");

    mysql调试方法(未验证)

    在mysql提示符键入命令也可以,但不方便调试。

    1、可以将以上命令原样写入一个文本文件中,假设为school.sql,然后复制到c:\下,并在DOS状态进入目录[url=file://\mysql\bin]\mysql\bin[/url],然后键入以下命令:

        mysql -uroot -p密码 < c:\school.sql

    如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。

    2、或者进入命令行后使用 mysql> source c:\school.sql; 也可以将school.sql文件导入数据库中。

     
     
  • 相关阅读:
    Kth Largest Element in an Array -- LeetCode
    First Missing Positive -- LeetCode
    Path Sum II (Find Path in Tree) -- LeetCode
    Email List
    Divide Two Integers -- LeetCode
    Delete Node in a Linked List
    Compare Version Numbers -- LeetCode
    Broken Code
    Trapping Rain Water (Bar Height) -- LeetCode
    Count and Say (Array Length Encoding) -- LeetCode
  • 原文地址:https://www.cnblogs.com/jxba/p/9218382.html
Copyright © 2020-2023  润新知