首页
学习
活动
专区
圈层
工具
发布

MYSQL 数据库结构优化

数据库结构优化 优化数据大小 使表占用尽量少的磁盘空间。减少磁盘I/O次数及读取数据量是提升性能的基础原则。表越小,数据读写处理时则需要更少的内存,同时,小表的索引占用也相对小,索引处理也更加快速。...如果主要的负载在缓存命中率及磁盘读写速度,那么这种格式将能够提升数据库反应速度。如果是极端情况负载受限于CPU性能,那么使用这种格式则会降低数据库性能。...对于InnoDB 类型表,主键列博阿含在二级索引中,所以对于具有较多二级索引的数据库结构,较短的主键能够节省相当的存储空间。 不要创建不必要的索引。索引能够加快查询,但是会影响插入和更新操作。...同一个数据库中表过多的缺点 如果数据库中MyISAM 表过多,打开,关闭和创建表操作会变得很慢,当执行多表查询时,可能会发生表缓存溢出。...执行计划对于衍生表及物化表有时候不明确指出Using temporary 信息。

8.4K51
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL查询导出数据表结构信息

    问题描述 最近在写文档,需要用到数据库设计文档,表结构很多,如果一个个去复制黏贴,也是很花时间,所以需要借助INFORMATION_SCHEMA库的表 补充: information_schema数据库是...MySQL自带的,它提供了访问数据库元数据的方式。...元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等 解决方案 所以,需要借助INFORMATION_SCHEMA的里系统表,通过如下SQL查询: SELECT b.COLUMN_NAME...' AND a.table_name = '数据表名称' 通过SQL查询出数据 然后复制一下数据库里的数据,在word文档里,选择,然后黏贴一下就可以 总结归纳 通过这个方法,节省了写文档的时间...,可以有更多时间去写代码,补充INFORMATION_SCHEMA是MySQL数据库系统很重要的库,我们可以通过里面的系统表排查一些性能问题,也可以像本文一样来查出表结构来提高写文档效率,活学活用,学到的知识需要用起来

    7.6K40

    Mysql自带数据库中的信息

    当你新建一个mysql服务,并且使用root用户登录mysql(或者你拥有相应的权限),会发现mysql预先安装了四个数据库. information_schema mysql perfomance_schema...test 这些数据库完全可以当成是普通的数据库,使用查询语句去获取其中的信息....接下来逐一看一下里面保存了哪些数据. information_schema 这个数据库主要用来存储数据的数据,即你的数据库信息,数据表信息,字段信息等等.表非常的多,这里不逐一列举,仅查看一些常用的表....SCHEMATA:提供了当前mysql实例中所有数据库的信息,我们经常使用的show databases就是从这里读取数据的. TABLES:提供了关于数据库中的表的信息(包括视图)。...VIEWS:给出了关于数据库中的视图的信息。 TRIGGERS:提供了关于触发器的信息。

    5.5K20

    MySQL数据库DDL表结构操作

    前言本专栏内容将会详细讲解MySQL数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。...什么是表表 : 数据在数据库中是以一个一个表格形式存在并且组织的。 有行, 有列。图片二. 表结构操作1....数据表的修改(ALTER)修改表语法如下:ALTER TABLE 表名 操作;2.1 向现有表中添加列在表结构已经确定后, 如果想要增加一列可以使用下面语句进行更改:#在课程表基础上添加gradeId...结语最后,我们对本文核心要点进行总结:本节中主要学习的是DDL中的表结构的操作其中创建表语句, 删除表语句比较重要。...修改表结构语句一般使用较少,因为表结构设计创建后一般很少变动, 如果变动那么项目代码也会随之变动, 这样成本太高。

    4.9K10

    MySQL数据库结构设计

    在编码过程中,如果MySQL数据结构设计不好的话,会大大影响开发人员编码效率。比如说MySQL数据库表设计不规范,创建时间字段设计成cjsj,创建者字段设计成cjr或者cjz。...这样的数据库表可读性和表意性相当差。下面我们就来讲讲如何规范设计数据库结构。 数据库结构优化 数据库结构优化的目的有哪些? 减少数据冗余。 尽量避免数据维护中出现更新,插入,删除异常。...解决上述异常很简单,设计数据库表时遵循数据库三大范式即可。 数据库结构设计又分为逻辑设计和物理设计。 前面说的数据库三大范式可以说是逻辑设计。逻辑设计是根据数据实体之间的逻辑关系对表进行设计。...维护优化是指根据实际情况对索引存储结构等进行优化。 一般数据库结构设计的步骤是: 1.需求分析:全面了解产品设计的存储需求。存取需求是指数据库要存储什么样的数据,这些数据具有什么特点。...比如查询订单信息时,我们肯定是要查询下单的收货人信息。如果我们更改了收货人信息,那么查询订单时,会出现收货人信息不一致的现象。所以我们要在订单表中冗余收货人信息。

    2.6K30

    MySQL数据库与表结构操作指南

    前言:本文系统梳理MySQL核心操作语句。内容覆盖建库建表、结构调整、数据迁移全流程(包含创建/修改/删除/备份场景)。希望它们能帮你快速解决问题。...创建库时指明字符集和校验集的两种方式: 2.库的备份和恢复 2.1.备份         数据库通常会带有备份工具,在shell命令行创建一个目录,这里命名为MySQL。...-B:填写-B选项后恢复数据库时不用先创建该库。...四、表的删改查 查看表结构 查看库中有哪些表: show tables; 查看指定表信息:  desc 表名; 查看指定表的详细信息(即创建时的信息): show create table 表名;  或...改列属性: alter table 表名 modify 列名 列的其他属性(类型,...); 注意它是把原来的列信息丢弃,新增列信息。而不是做局部修改,所以需要把列信息写全。

    47210

    【说站】mysql教程 查看数据库创建信息

    mysql教程 查看数据库创建信息 1、使用命令select database(),从查询结果可以看出,我们当前没有进入到任何数据库。所以为NULL*/。...+------------+ | NULL       | +------------+ 1 row in set (0.00 sec) 2、用show tables语句,查询出来的结果是当前所用的数据库名称...mysql> show tables;   +-------------------+   | Tables_in_test    |   +-------------------+   | push_test...         |   | ship_order_detail |   +-------------------+   2 rows in set (0.00 sec) 以上就是mysql查看数据库创建信息的方法...,本篇主要带来当前使用数据库及其名称的查询,对照着mysql中不同的查询方法,大家学会后可以进行这方面的练习。

    2.3K10

    关系型数据库 MySQL 体系结构详解

    通过前面几篇文章学会如何安装 MySQL 以及基础知识后,我们还需要学习体系结构,MySQL 和 Oracle 体系结构类似,如果学过 Oracle 可以类比记忆,基础牢固才能学好数据库,才能做一个合格的...详细的功能信息请看下文。...系统管理和控制工具,例如备份恢复、MySQL 复制、集群等; 3、Connection Pool 连接池,管理缓冲用户连接、用户名、密码、权限校验、线程处理等需要缓存的信息; MySQL 服务器对每一个连接产生一个线程...数据库与数据库实例 数据库:物理操作系统文件或其他形式文件类型的集合; 数据库实例:数据库后台进程或线程及一个共享内存区域组成,数据库实例是用来操作数据库文件的; MySQL 是一个单进程多线程架构的数据库...InnoDB 是 MySQL 数据库 5.5 版本后的默认存储引擎,默认所说的 MySQL 即指 InnoDB 存储引擎的 MySQL,那么关于 InnoDB 的体系结构下一次在一起来看看吧,今日就到这里啦

    2.7K20

    Mysql实例 数据库优化--结构和性能优化

    三.数据库结构设计 当开发人员设计好表语句后,就需要运维工程师进行服务部署,项目上线。这里应该根据需求进行预估访问量,再进行配置的选择和结构设计。...内存 物理内存对于一台使用MySQL的Database Server来说,服务器内存建议不要小于8GB,用以应对高速增长的咨询等信息。...数据库配置优化 MySQL应用最广泛的有两种存储引擎:一个是MyISAM,不支持事务处理,读性能处理快,表级别锁。...,信息泄露会造成重大事故,所以要重视安全问题,防止信息被盗取、破坏。...具体建议 数据库使用 mysql 用户启动,权限为700 登录时在命令行暴漏密码,备份脚本中如果有密码,给设置 700,属主和用户组为 mysql或root 初始删除无用的用户,只保留 root 127.0.0.1

    3.2K20

    数据库系列 | MySQL索引数据结构算法

    1索引数据结构 索引是帮助MySQL高效获取数据的排好序的数据结构(容易忽略的点:排好序) 上图中有一张表,表名为 t ,表中有7条数据;使用 select * from t where t.clo2...字段 Col1 按照自增 如果数据是单边增长的情况 那么出现的就是和链表一样的数据结构了,树高度大。...时候,就会自动调整,这样可以解决二叉树的弊端;红黑树也叫平衡二叉树; 同样我们查找6,在二叉树中我们需要经过6个节点才能找到(1-2-3-4-5-6),红黑树中我们只需要3个节点(2-4-6),但是mysql...索引的数据结构并不是红黑树,因为如果数据量大了之后,树的高度就会很大。...若使用 select * from t where clo2 > 6,这种查找范围的SQL,那Hash就不能搞定了,就不会走索引了;而且对排序hash也没有办法; 原因2:hash会产生 hash 碰撞,MySQL

    99320
    领券