首页 > 数据库 >mysql的个人习惯

mysql的个人习惯

时间:2024-12-11 18:44:40浏览次数:3  
标签:缓存 个人 创建 使用 习惯 查询 索引 mysql

  • 一定要有主键

    一般使用的innodb引擎中会根据主健创建聚簇索引,这种方式会使得数据排列的更连续,减少随机IO

  • 关于数据长度

    考虑数据范围,够用的前提下,数据长度是越简单越好,数据类型是越小越好。

  • 尽量避免使用TEXT/BLOB类型

    data page 默认是16kb,每行数据长度超过8kb就会出现data page 分裂,这样就会有更多的离散IO。如果项目中必须有这样的字段存在,建议使用单独的表保存,不到用的时候不去查询。

  • 每个表增加version create_time update_time create_by update_by is_del 通用字段

    目的是好排查问题

  • 创建高效索引

    各个表尽量使用唯一索引或者主健进行关联;不要创建重复索引;字段没有离散度的不要创建索引;不要等到数据量巨大的时候在线上创建索引;

  • 尽量写简单的查询

    检查的查询会让mysql在查询优化阶段节省很多时间,对于执行引擎去检索的时候才会更好的使用索引查询。越复杂的查询越难控制索引的使用;除此之外,如果简单查询出来的数据是变更不频繁的数据,可以使用缓存来减少查询次数(这里的缓存不是mysql服务自带的缓存)

  • 禁用mysql自带的缓冲

    很鸡肋的技能。如果用了它的缓存并且设置的参数很大就占用了内存资源,如果参数设置的很小就会高频出现清理缓存、置换缓存等操作。得不偿失。

  • 只查询有用的字段

    对于执行引擎来说,无用的字段增加了内存消耗;对于server来说,增加了网络开销。对于应用来说,也是占用无效的内存。

  • 主链路的sql上线前自己explain

    看看是否使用了文件排序、临时表、有没有全表扫描

标签:缓存,个人,创建,使用,习惯,查询,索引,mysql
From: https://www.cnblogs.com/euler-blog/p/18600453

相关文章

  • Mysql学习-Mysql查询(3)
    一.补充概念1.强化概念:1).DB:数据库,保存一组有组织的容器,即存储数据的容器2).DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据,又称为数据库软件或数据库产品,用于创建或管理DB.3).SQL:结构化查询语言,用于和DBMS通信的语言2.SQL语言的分类:SQL语言......
  • Mysql之innodb引擎
    优势总结只有数据库引擎为innodb且事务的隔离级别repeatable——read(可重复读)的时候才会使用mvcc来实现多版本控制事务中的可重复读可以有效的避免幻读问题innodb从硬盘上读取数据的时候,会读取一整页的数据,然后加载到内容中,在内存中创建hash索引,从而提高读操作的效率。inno......
  • 一文看懂MySQL索引下推(ICP)
    文章目录一、索引下推是什么?二、回表查询(TableLookup)是什么?聚集索引和非聚集索引如何减少回表查询?小结三、索引下推如何减少回表查询次数1.没有使用icp(索引下推)2.使用ICP四、总结索引下推的工作原理1.传统的查询处理方式:2.索引下推优化:五、索引下推的优点六、......
  • A5433 Java+Jsp+Servlet+MySQL+微信小程序+LW+在线点餐小程序的设计与实现 源码 配置
    在线点餐小程序的设计与实现1.摘要2.开发目的和意义2.1系统开发目的2.2系统开发意义3.系统功能设计4.系统界面截图5.源码获取1.摘要摘要近几年,人们生活水平日益提升,但工作强度和压力不断增强,尤其是对于上班族而言,到餐厅吃饭费时费力,而传统的APP点餐难以适应针对......
  • MySQL学习笔记Day6
    一、存储过程存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多重复的工作,提高数据处理的效率。1、特点(1)封装、复用(2)可接收参数(3)减少网络交互,提高效率2、语法结构delimiter$$ --设置sql语句以$$结束CREATE......
  • 第一部分:基础知识 9 . 视图 --[MySQL轻松入门教程]
    在MySQL中,视图(View)是一个命名的SQL查询,它被存储在数据库目录中。视图可以包含来自一个或多个表的数据,并且可以像真实表一样被查询。下面是对MySQL视图的详细讲解:创建视图使用CREATEVIEW语句来创建视图。语法如下:CREATE[ORREPLACE][ALGORITHM={UNDEFINED|MERGE......
  • 【python脚本】python读取csv文件发送数据到kafka,然后再从kafka消费到mysql中
    前置条件pipinstallpandasconfluent-kafkamysql-connector-pythonpymysql读取csv文件到kafkaimportpandasaspdfromconfluent_kafkaimportProducerimportjsonimportcsv#配置Kafka生产者#topic名称csv_topickafka_topic='csv_topic'kafka_broker=......
  • 学生HTML个人网页作业作品下载 动漫主题网页设计制作 大学生个人网站作业模板 dreamwe
    HTML实例网页代码,本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。⚽精彩专栏推荐......
  • MySQL索引
      2.1索引概述2.1.1介绍索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。在无索引情况下,就需要从......
  • MySQL执行计划字段解析
    MySQL执行计划是通过`EXPLAIN`或`EXPLAINANALYZE`命令生成的,它提供了SQL查询的执行信息,帮助我们分析和优化查询性能。以下是执行计划中各个字段及其含义的详细解释:1.**id**:QueryOptimizer所选定的执行计划中查询的序列号。如果多个行有相同的ID,它们属于同一个查询的一部分,并且......