文章载入中... ☆前言☆ 对于初学者来说,养成代码规范的习惯尤为重要,同样在设计数据库表以及编写 SQL语句时,怎样优化SQL语句以及提高查询效率?这个值得每一位java初学者的注意。下面我就简单介绍一些常用的Mysql数据库的设计及语句优化规则。 ✎数据库表设计规则 1、冗余设计;即设计数据库可以适当设计冗余字段。 2、设置删除状态字段;为了表面锁表,尽量用关键字update,少用delete。 3、字段上面尽量不要用null做默认值。 4、适当加入索引,过量索引会减慢插入数据的速度。 5、主键类型尽量采用tinyint;因为主键一般都是无符号的int,使用tinyint主键量可以达到int的两倍。
✎Mysql语句优化 1、使用select语句尽量多用字段,使用 * 效率更低。 2、 查询数量,尽量使用类似“count(1)”字样。 3、 查询一条语句,尽量在后面加上“limit1”(数据库查询到一条即停止)。 ✎SQL语句优化遵循原则 1、尽量避免在列上运算,这样会导致索引失效。 2、使用 JOIN 时,应该用小结果集驱动大结果集,同时把复杂的 JOIN 查询拆分成多个query,因为JOIN 多个表,可能导致更多的锁定和堵塞。 3、使用LIKE 时,避免使用 %%。 4、select 指定查询字段,不要全查出来,节省内存。 5、使用批量插入语句节省交互。 6、limit的基数比较大时,使用 between,between 限定比 limit 快,但是between也有缺陷,如果id中间有断行或是中间部分id不读取的情况,数据会少。 例如:select * from t where 1 limit 100000,10 可改为:select * from twhere id between 100000 and100010 7、不要使用rand 函数取多条随机记录。 8、避免使用 NULL。 9、不要做无谓的排序操作,而应尽可能在索引中完成排序。
|
|