首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL数据库结构优化

由于MySQL数据库是基于行存储的数据库,而数据库IO操作的时候是以 page 的方式,也就是说,如果我们每行记录所占用的空间量减小,就会使每个 page 中可存放的数据行数增大,那么每次 IO 可访问的行数也就增多了...4、ENUM & SET: 对于状态字段,可以尝试使用 ENUM 来存放,因为可以极大的降低存储空间,而且即使需要增加新的类型,只要增加于末尾,修改结构也不需要重建数据。...二、结构设计: 上面几点的优化都是为了减少每条记录的存储空间大小,让每个数据库中能够存储更多的记录条数,以达到减少 IO 操作次数,提高缓存命中率。...1、适当拆分: 我们可能希望将一个完整对象对应一张数据库,这对于应用程序开发来说是很友好的,但有时可能会在性能上带来较大的问题。...3、尽量使用 not null: (1)null 类型比较特殊,SQL 难优化。

7K10
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL数据库DDL结构操作

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

3.7K10

MySQL数据库(九):修改结构

前言: 1.修改结构的时候受中已存储数据的限制 2.查看表结构 desc 名; 1.修改结构 格式: alter  table  名  修改动作; 2.修改动作 <add,modify...格式: alter  table  源名  rename  [to] 新名; 例子: 将t20表明修改为newt20 alter table  t20 rename newt20; 3.复制表...*注:源表表结构中key列的值不会被复制给新 格式: create table 新名  SQL查询; 例子: 复制newt20的所有字段到t200 create table t200 select...* from newt20; 值复制newt20中的name,loves字段到t201 create table t201 select name,loves from newt20; 4.只复制源结构...格式: create table 新名  select * from  源名 where  条件; 例子: create table  t206 select * from t202 where

7K50

ABAP 取两个的交集 比较两个的不同

SAP自带的函数: CTVB_COMPARE_TABLES和BKK_COMPARE_TABLES; 似乎可以比较两个,得出第二个内不同于第一个内的部分...因为,我在测试数据时,发现这两个函数的效果不那么简单。 如果上述函数确实可以,提取两个不同部分,则我可以据此做两次比较,得到两个的交集。...所以,我先用另外一种方式解决了-自己写了一个提取两个交集的函数,供大家检阅: *" IMPORTING *" VALUE(ITAB1) TYPE INDEX TABLE...以下转自华亭博客:感谢华亭的分享: 函数模块:CTVB_COMPARE_TABLES 这个函数模块比较两个,将被删除、增加和修改的内行分别分组输出。...IF_SORTED:排序标记,如果已排序,在比较时可以提高效率。

2.7K30

mysql 数据库结构设计与规范

大家好,又见面了,我是你们的朋友全栈君 mysql 数据库结构设计与规范 DDL(data difinition language)就是数据定义语言。...,而这个名字就是不存在的 mysql数据库使用的一些规范 通常来讲,各个互联网公司的数据库分为5个数据库环境: dev : 开发环境, 开发可读写,可修改结构; 常用的163的数据库; 开发人员可以修改结构...,会先在这个环境上进行预执行, 这个环境也可供部署上线演练或压力测试使用 可以读写 real: 生产数据库从库(准实时同步),只读环境,不允许修改数据,不允许修改结构; 供线上问题查找,数据查询等使用...充分利用前缀索引 尽量不使用存储过程、触发器、函数等,让数据库做最擅长的事 避免使用大的JOIN,MySQL优化器对join优化策略过于简单 避免在数据库中进行数学运算和其他大量计算任务...慢日志和错误日志 数据备份方案 Online DDL 原生MySQL执行DDL时需要锁,且锁期间业务是无法写入数据的,对服务影响很大,MySQL对这方面的支持是比较差的 推荐使用pt-online-schema-change

2.2K40

数据库导出结构语句_sqlserver导出结构

,到时候只需要修改成你要导出结构数据库即可 table_schema ='test_database' -- AND -- test_table为名,到时候换成你要导出的的名称...-- 如果不写的话,默认会查询出所有中的数据 table_name = 'test_table' 运行之后显示: 之后选中复制粘贴到文档中即可 这种方法的不足之处是 查询整个数据库所有的结构时...比较混乱,建议单个进行查询。...---- 第二种 :利用SQLyog的导出html功能 SQLyog的使用就不多说,直接去官网下载傻瓜式安装运行即可 运行之后连接数据库,右键选中需要导出结构数据库,选择最下面的Create Schema...唯一的不足之处是不能选择导出某个或几个结构,只能选择某个数据库所有 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

5.9K10

MySql之自动同步结构

MySql之自动同步结构 开发痛点 在开发过程中,由于频繁的修改数据库的字段,导致rd和qa环境的数据库经常不一致。 而由于这些修改数据库的操作可能由多个rd操作,很难一次性收集全。...解决之道 于是笔者就写了一个能够自动比较两个数据库结构,并生成alter语句的程序。同时还可以进行配置从而自动这行这些alter语句。...详情见github 原理 同步新增的 如果rd环境新增的,而qa环境没有,此程序可以直接输出create table语句。原理如下: ?...用到的sql主要有: show table from rd_db; show create table added_table_name; 同步结构 如果rd结构有改动,而qa环境没有,此程序可以直接输出...EXTRA from information_schema.columns where TABLE_SCHEMA='rd_db' and TABLE_NAME = 'rd_table'; 比较结构的代码

4.8K30

mysql查看表的数据结构_mysql查找结构

MySQL 查看表结构 mysql查看表结构命令,如下: desc 名; show columns from 名; describe 名; show create table 名; use information_s...… mysql查看表结构命令 mysql查看表结构命令 mysql查看表结构命令,如下: desc 名;show columns from 名;describe 名;show create table...名; use inf … mysql查看表结构,字段等命令 mysql查看表结构命令,如下: desc 名; show columns from 名; describe 名; show create...table 名; MySQL查看表占用空间大小(转) MySQL查看表占用空间大小(转) //先进去MySQL自带管理库:information_schema //自己的数据库:..., 因此我们需要能够查询结构的方法: 方法如下: 1.desc(描述)命令 desc tablename;de … MySQL查看表结构及查看建表语句 查看表结构:desc mysql> use

5.7K20

亿级大如何修改结构MySQL

一、问题背景 随着数据库数据量进一步增加,最大的目前已经达到10亿+了,虽然已经进行的数据库的分库分(采用阿里云的polardb),但是大要改结构的时候,还是会出现死锁的情况,系统会收到严重影响...三、原直接修改 对于用户访问量少的时间段进行结构修改或者类似12306这种,凌晨11点-6点进行数据维护,直接停服修改结构。...ALTER TABLE 但是如果业务迭代比较快,或者改动结构比较频繁的,系统又不允许停服(大多数系统都不允许停服),这个时候修改结构就很痛苦了,一方面是开发人员需要经常性加班,而是如果改动是核心,...4.3 切换数据丢失问题 切换名这一步,数据库层面做不了限制,首先MYSQL不支持在锁住的情况下,再去修改名。...五、总结 直接修改结构既然有这么多问题,那为什么大多数企业都选择直接修改结构呢,而不是copy替换原的形式呢。

4.7K10

快速修改MySQL某张结构

快速修改MySQL某张结构--摘录自《MySQL管理之道》 ALTER TABLE 名 MODIFY 列名 数据类型; 这个命令可以修改结构 此外,也可以如下方法修改结构: 先创建一张,如下...decimal(9,1)); 如果要修改name列为varchar(10)的,可以这样操作:alter table t1 modify name varchar(7); 也可以如下操作: 1、查看表结构...把varchar设置为10: > create table t1_tmp (id int,     name varchar(10),     rmb decimal(9,1)); 3、替换.frm结构文件...> flush tables with read lock;   先锁住,放在被打开,以免数据丢失。  ...local/mariadb/var/test/t1_tmp.frm  /usr/local/mariadb/var/test/t1.frm 4、解除锁定 > unlock tables; 5、查看表结构

4.1K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券