MYSQL

数据库中的id很少用自增的, 会被别人用循环遍历爬取结果。 互联网公司也不采取UUID(WHY?),使用snowflake算法。(不准确, id可以另外处理一下防爬取)

分库分表: 垂直切分(按模块将同一类型的表分到一个库)、水平切分(将一个库切割成若干个库,一个表切分成若干个表)

执行顺序

日期增减请用DATE类函数, 日期比较请转时间戳~

  • 数据库的key和index是两个层面的含义:
    • key对应的是约束(表的完整性)
    • index对应的是辅助查询
    • 两者在mysql中相辅相成, 比如你建一个unique key,会自动建一个unique index
    • 基于mysql的特性, 直接建立index来约束key就好。
  1. select少用*,只使用需要使用的字段
  2. 尽量少使用关联查询,适当的对一些字段进行数据冗余
  3. 对一些最常用查询字段,可以考虑使用索引(面试官一般也会问下有哪些索引类型,索引的数据结构B树,索引失效等问题)
  4. mysql可以使用explain,检查sql的查询性能,通过key可以看到查询使用到的索引,type看到是全表扫描还是索引扫描等,尽量使sql通过索引查询
  5. https://www.cnblogs.com/jianmingyuan/p/6740090.html
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容