sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  1796 随笔 :: 22 文章 :: 24 评论 :: 226万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

设计表规范
原文链接:https://www.kancloud.cn/handler/norm/300042

    1. MySQL建表,字段需设置为非空,需设置字段默认值。
    1. MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL。
    1. MySQL建表,如果字段等价于外键,应在该字段加索引。
    1. MySQL建表,不同表之间的相同属性值的字段,列类型,类型长度,是否非空,是否默认值,需保持一致,否则无法正确使用索引进行关联对比。
    1. MySQL使用时,一条SQL语句只能使用一个表的一个索引。所有的字段类型都可以索引,多列索引的属性最多15个。
    1. 如果可以在多个索引中进行选择,MySQL通常使用找到最少行的索引,索引唯一值最高的索引。
    1. 建立索引index(part1,part2,part3),相当于建立了 index(part1),index(part1,part2)和index(part1,part2,part3)三个索引。
    1. MySQL针对like语法必须如下格式才使用索引:
  • SELECT * FROM t1 WHERE key_col LIKE ‘ab%’ ;
    1. SELECT COUNT(*) 语法在没有where条件的语句中执行效率没有SELECT COUNT(col_name)快,但是在有where条件的语句中执行效率要快。
    1. 在where条件中多个and的条件中,必须都是一个多列索引的key_part属性而且必须包含key_part1。各自单一索引的话,只使用遍历最少行的那个索引。
    1. 在where条件中多个or的条件中,每一个条件,都必须是一个有效索引。
    1. ORDER BY 后面的条件必须是同一索引的属性,排序顺序必须一致(比如都是升序或都是降序)。
    1. 所有GROUP BY列引用同一索引的属性,并且索引必须是按顺序保存其关键字的。
  • 14.、 JOIN 索引,所有匹配ON和where的字段应建立合适的索引。
    1. 对智能的扫描全表使用FORCE INDEX告知MySQL,使用索引效率更高。
    1. 定期ANALYZE TABLE tbl_name为扫描的表更新关键字分布 。
    1. 定期使用慢日志检查语句,执行explain,分析可能改进的索引。
    1. 条件允许的话,设置较大的key_buffer_size和query_cache_size的值(全局参数),和sort_buffer_size的值(session变量,建议不要超过4M)。
posted on   sunny123456  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-07-06 SQL中的子查询
2021-07-06 C# 使用multipart form-data方式post数据到服务器
2021-07-06 批处理框架 Spring Batch 这么强,你会用吗
2021-07-06 谈谈form-data请求格式 js
2021-07-06 C# Body为form-data file文件上传至第三方接口 http请求
2021-07-06 .net c# 使用form-data方式发起http请求
2021-07-06 使用form-data和raw作为body发起POST请求的区别
点击右上角即可分享
微信分享提示