首页 > 数据库 >mysql存储引擎:myisam

mysql存储引擎:myisam

时间:2023-09-21 18:06:23浏览次数:31  
标签:char 存储 记录 abcde 空格 myisam mysql

Myisam:

1.myisam是MySQL默认的存储引擎。myisam不支持事务,也不支持外键,优点是访问的速度快,对事物完整性没有要求(select,insert为主的应用都可以使用这个引擎来创建表)

2.myisam的表支持3种不同的存储格式,分别是静态表(字段都是固定长度,优点存储迅速,容易缓存。缺点:占用的空间通常比动态表多),动态表,压缩表,

静态表的数据在存储时会按照列的宽度定义补足空格,但是在应用访问的时候并不会得到这些空格,这些空格在返回给应用之前已经去掉(保存的内容后面带有空格,返回结果时会被去掉。)

1 CREATE TABLE myisam_char (NAME CHAR ( 10 )) ENGINE = myisam;
2 insert into myisam_char values ('abcde'),("abcde"),(" abcde "),("abcde ");
3 select name,length(name) from myisam_char;

mysql存储引擎:myisam_mysql

 

从上面的例子可以看出,插入记录后面的空格都被去掉了,前面的空格保留了。

3.动态表中包含变长字段,记录不是固定长度的,这样存储的优点是占用的空间相对较少,但是频繁地更新和删除记录会产生碎片,需要定期执行OPTIMIZE TABLE语句或myisamchk-r命令来改善性能,并且在出现故障时恢复相对比较困难。

4.压缩表由myisampack工具创建,占据非常小的磁盘空间。因为每个记录是被单独压缩的,所以只有非常小的访问开支。

 

 



标签:char,存储,记录,abcde,空格,myisam,mysql
From: https://blog.51cto.com/u_16082673/7555748

相关文章

  • mysql常用命令
    一、一般默认安装目录1、数据库目录/var/lib/mysql/2、配置文件/usr/share/mysql(mysql.server命令及配置文件)mysql5.5之后的默认安装路径,mysql5.5之前的是/usr/local/mysql3、相关命令/usr/bin(mysqladminmysqldump等命令)4、启动脚本/etc/rc.d/init.d/(启动脚本文件mysql......
  • PostgreSQL 9.6修改数据存储路径
    说明使用的PostgreSQL版本是9.6版本的。实际项目部署过程中,数据库的数据有时候被要求保留5-10年,甚至更久。随着数据量的增大,磁盘占用空间也会随之增大。当数据库默认的安装路径所在目录的磁盘空间不够大时,可以考虑扩容,或者修改数据库数据存放的路径,将路径指定到一个足够大......
  • mysql跑99分位、80分位、中位数的方法
    #分两步得到第一步假设得到的值为1000000SELECTFLOOR(COUNT(*)*0.99)FROM(selectcount(*)ascntfrommytablenamegroupbyuid)tmpb;#获取的第一个值即为99分位的数据SELECTcntFROM(selectuid,count(*)ascntfrommytablenamegroupbyuid)tmpaORDERB......
  • MySQL 分页优化
    1.普通翻页limitSELECTidFROMpage_test_tORDERBYidLIMIT1000,10例如:limit1000,10,会从数据文件中查询1010行记录,只返回的10记录,前1000行记录会被抛弃掉。2.延迟关联作为子查询或视图自关联适合前后翻页、跳页可以先按照条件分页查询出主键,然后根据主键的再去关......
  • MySQL数据库查询对象空值判断与Java代码示例【含面试题】
    AI绘画关于SD,MJ,GPT,SDXL百科全书面试题分享点我直达2023Python面试题2023最新面试合集链接2023大厂面试题PDF面试题PDF版本java、python面试题项目实战:AI文本OCR识别最佳实践AIGamma一键生成PPT工具直达链接玩转cloudStudio在线编码神器玩转GPUAI绘画、AI讲话、......
  • Mysql 5.7.35-:使用HugePage:配置关键点、配置过程
    在Linux中,让应用程序——尤其是mysqld这类的数据库应用——使用HugePage,最大的好处在于:1:内存不会被回收,不会被交换到swap分区2:因为是HugePage,大页,2M起步,如此,就能大大减轻相应应用程序所分配内存的linux内核管理负担! #------------------------------------------------------......
  • mysql3-4
    表定义表:是数据库最基本的组成单元,数据库是用来存储数据的,数据库中有很多表,每一个表都是一个独立的单元,表也是一个结构化的文件,由行和列组成,行称为数据或记录,列称为字段,字段又包括:字段名称、字段类型、长度、约束。 创建表语法格式:createtable表名称(字段名类型(长度)约......
  • MySQL中row_number()的实现,查询记录排序行数
    MySQL中row_number()的实现,查询记录排序行数时间  2019-12-06标签 mysql row number 实现 查询 记录 排序 行数 栏目 MySQL 繁體版原文   https://my.oschina.net/u/3087202/blog/1842169  在MySQL8.0之前是有没row_number()这个窗口函数的,若是想实......
  • MySQL高级13-MySQL管理工具
    一、系统数据库MySQL数据库安装完成后,自带了四个数据库:mysql数据库:存储MySQL服务器正常运行所需要的各种信息如时区、主从、用户、权限等infomation_schema:提供了访问数据库元数据的各种表和视图,包含数据库、表、字段类型及访问权限等performance_schema:为MySQL服务器运......
  • 查看mysql资源占用高的线程及其详细信息
    结合操作系统线程查看mysql中的sql资源 消耗 ( 5.7 才可以,5.7时   performance_schema.threads表 才加入的  thread_os_id 系统线程字段 1--1、top-H查看具体线程的CPU消耗2[root@hostmysql80mysql]#top-H345--2、iotop-umysql查看具体......