当前位置: 首页 > news >正文

微网站模板怎么做杭州个体户注册

微网站模板怎么做,杭州个体户注册,南皮网站建设,做网站买服务器什么是存储引擎#xff1f;关系数据库表是用于存储和组织信息的数据结构#xff0c;可以将表理解为由行和列组成的表格#xff0c;类似于Excel的电子表格的形式。有的表简单#xff0c;有的表复杂#xff0c;有的表根本不用来存储任何长期的数据#xff0c;有的表读取时非…什么是存储引擎关系数据库表是用于存储和组织信息的数据结构可以将表理解为由行和列组成的表格类似于Excel的电子表格的形式。有的表简单有的表复杂有的表根本不用来存储任何长期的数据有的表读取时非常快但是插入数据时去很差而我们在实际开发过程中就可能需要各种各样的表不同的表就意味着存储不同类型的数据数据的处理上也会存在着差异那么。对于MySQL来说它提供了很多种类型的存储引擎我们可以根据对数据处理的需求选择不同的存储引擎从而最大限度的利用MySQL强大的功能。这篇博文将总结和分析各个引擎的特点以及适用场合并不会纠结于更深层次的东西。我的学习方法是先学会用懂得怎么用再去知道到底是如何能用的。下面就对MySQL支持的存储引擎进行简单的介绍。Mysql常用存储引擎命令查看当前数据库到默认引擎show variables like default_storage_engine;执行结果查看数据库所支持的数据库引擎show engines\G执行结果show variables like have%;执行结果创建表时设置存储引擎CREATE TABLE dept( /*部门表*/deptno MEDIUMINT UNSIGNEDNOT NULL DEFAULT 0,dnameVARCHAR(20) NOT NULL DEFAULT,locVARCHAR(13) NOT NULL DEFAULT) ENGINEMyISAM DEFAULT CHARSETutf8 ;修改表的存储引擎ALTER TABLE engineTest ENGINE INNODB;Linux修改默认存储引擎在mysql配置文件(linux下为/etc/my.cnf)在mysqld后面增加default-storage-engineINNODB即可。Mysql几个主要的存储引擎的比较介绍存储引擎的选择MyISAM存储引擎: 如果表对事务要求不高同时是以查询和添加为主的我们考虑使用MyISAM存储引擎. ,比如 bbs 中的 发帖表回复表.INNODB 存储: 对事务要求高保存的数据都是重要数据我们建议使用INNODB,比如订单表账号表.Memory 存储比如我们数据变化频繁不需要入库同时又频繁的查询和修改我们考虑使用memory, 速度极快.存储引擎的比较(一)MyISAM它不支持事务也不支持外键尤其是访问速度快对事务完整性没有要求或者以SELECT、INSERT为主的应用基本都可以使用这个引擎来创建表。每个MyISAM在磁盘上存储成3个文件其中文件名和表名都相同但是扩展名分别为.frm(存储表定义)MYD(MYData存储数据)MYI(MYIndex存储索引)数据文件和索引文件可以放置在不同的目录平均分配IO获取更快的速度。要指定数据文件和索引文件的路径需要在创建表的时候通过DATA DIRECTORY和INDEX DIRECTORY语句指定文件路径需要使用绝对路径。每个MyISAM表都有一个标志服务器或myisamchk程序在检查MyISAM数据表时会对这个标志进行设置。MyISAM表还有一个标志用来表明该数据表在上次使用后是不是被正常的关闭了。如果服务器以为当机或崩溃这个标志可以用来判断数据表是否需要检查和修复。如果想让这种检查自动进行可以在启动服务器时使用--myisam-recover现象。这会让服务器在每次打开一个MyISAM数据表是自动检查数据表的标志并进行必要的修复处理。MyISAM类型的表可能会损坏可以使用CHECK TABLE语句来检查MyISAM表的健康并用REPAIR TABLE语句修复一个损坏到MyISAM表。MyISAM的表还支持3种不同的存储格式静态(固定长度)表动态表压缩表其中静态表是默认的存储格式。静态表中的字段都是非变长字段这样每个记录都是固定长度的这种存储方式的优点是存储非常迅速容易缓存出现故障容易恢复缺点是占用的空间通常比动态表多。静态表在数据存储时会根据列定义的宽度定义补足空格但是在访问的时候并不会得到这些空格这些空格在返回给应用之前已经去掉。同时需要注意在某些情况下可能需要返回字段后的空格而使用这种格式时后面到空格会被自动处理掉。动态表包含变长字段记录不是固定长度的这样存储的优点是占用空间较少但是频繁到更新删除记录会产生碎片需要定期执行OPTIMIZE TABLE语句或myisamchk -r命令来改善性能并且出现故障的时候恢复相对比较困难。压缩表由myisamchk工具创建占据非常小的空间因为每条记录都是被单独压缩的所以只有非常小的访问开支。注在使用mysql的时候有时候可能会发现尽管一张表删除了许多数据但是这张表表的数据文件和索引文件却奇怪的没有变小。这是因为mysql在删除数据(特别是有Text和BLOB)的时候会留下许多的数据空洞这些空洞会占据原来数据的空间所以文件的大小没有改变。这些空洞在以后插入数据的时候可能会被再度利用起来当然也有可能一直存在。这种空洞不仅额外增加了存储代价同时也因为数据碎片化降低了表的扫描效率。mysql提供了解决这一个问题的方法optimize table table_name 命令。该命令会对表进行碎片整理,去除空洞。查看前后效果可以使用show table status命令,例如show table status from [database] like [table_name];返回结果中的data_free即为空洞所占据的存储空间。当执行完optimize table命令后该字段的值将为0。InnoDB类型的表是无法使用optimize table命令的。(二)InnoDBInnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比MyISAM的存储引擎InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。1)自动增长列InnoDB表的自动增长列可以手工插入但是插入的如果是空或0则实际插入到则是自动增长后到值。可以通过ALTER TABLE...AUTO_INCREMENTn;语句强制设置自动增长值的起始值默认为1但是该强制到默认值是保存在内存中数据库重启后该值将会丢失。可以使用LAST_INSERT_ID()查询当前线程最后插入记录使用的值。如果一次插入多条记录那么返回的是第一条记录使用的自动增长值。对于InnoDB表自动增长列必须是索引。如果是组合索引也必须是组合索引的第一列但是对于MyISAM表自动增长列可以是组合索引的其他列这样插入记录后自动增长列是按照组合索引到前面几列排序后递增的。2)外键约束MySQL支持外键的存储引擎只有InnoDB在创建外键的时候父表必须有对应的索引子表在创建外键的时候也会自动创建对应的索引。在创建索引的时候可以指定在删除、更新父表时对子表进行的相应操作包括restrict、cascade、set null和no action。其中restrict和no action相同是指限制在子表有关联的情况下父表不能更新casecade表示父表在更新或删除时更新或者删除子表对应的记录set null 则表示父表在更新或者删除的时候子表对应的字段被set null。当某个表被其它表创建了外键参照那么该表对应的索引或主键被禁止删除。可以使用set foreign_key_checks0;临时关闭外键约束set foreign_key_checks1;打开约束。(三)MEMORYmemory使用存在内存中的内容来创建表。每个MEMORY表实际对应一个磁盘文件格式是.frm。MEMORY类型的表访问非常快因为它到数据是放在内存中的并且默认使用HASH索引但是一旦服务器关闭表中的数据就会丢失但表还会继续存在。默认情况下memory数据表使用散列索引利用这种索引进行“相等比较”非常快但是对“范围比较”的速度就慢多了。因此散列索引值适合使用在和的操作符中不适合使用在操作符中也同样不适合用在order by字句里。如果确实要使用或betwen操作符可以使用btree索引来加快速度。存储在MEMORY数据表里的数据行使用的是长度不变的格式因此加快处理速度这意味着不能使用BLOB和TEXT这样的长度可变的数据类型。VARCHAR是一种长度可变的类型但因为它在MySQL内部当作长度固定不变的CHAR类型所以可以使用。使用USING HASH/BTREE来指定特定到索引。在启动MySQL服务的时候使用--init-file选项把insert into...select或load data infile 这样的语句放入到这个文件中就可以在服务启动时从持久稳固的数据源中装载表。服务器需要足够的内存来维持所在的在同一时间使用的MEMORY表当不再使用MEMORY表时要释放MEMORY表所占用的内存应该执行DELETE FROM或truncate table或者删除整个表。每个MEMORY表中放置到数据量的大小受到max_heap_table_size系统变量的约束这个系统变量的初始值是16M同时在创建MEMORY表时可以使用MAX_ROWS子句来指定表中的最大行数。(四)MERGEmerge存储引擎是一组MyISAM表的组合这些MyISAM表结构必须完全相同MERGE表中并没有数据对MERGE类型的表可以进行查询、更新、删除的操作这些操作实际上是对内部的MyISAM表进行操作。对于对MERGE表进行的插入操作是根据INSERT_METHOD子句定义的插入的表可以有3个不同的值first和last值使得插入操作被相应的作用在第一个或最后一个表上不定义这个子句或者为NO表示不能对这个MERGE表进行插入操作。可以对MERGE表进行drop操作这个操作只是删除MERGE表的定义对内部的表没有任何影响。MERGE在磁盘上保留2个以MERGE表名开头文件.frm文件存储表的定义.MRG文件包含组合表的信息包括MERGE表由哪些表组成插入数据时的依据。可以通过修改.MRG文件来修改MERGE表但是修改后要通过flush table刷新。create table man_all(idint,name varchar(20))enginemergeunion(man1,man2) insert_methoslast;referencehttp://blog.chinaunix.net/uid-21411227-id-1826943.html
http://www.zqtcl.cn/news/948315/

相关文章:

  • 柳州网站建设哪家便宜广东省建设厅三库一平台
  • 云南城市建设官方网站wordpress和织梦哪个好
  • 国外企业招聘网站专门做外贸的网站有哪些
  • 陕西交通建设集团网站营销公司是什么意思
  • 网站建设自建与租用区别杭州建设局网站官网
  • 广告公司企业介绍seo研究中心怎么样
  • 苏州网站建设熊掌岳阳做网站哪家好
  • 深圳网站制作公司报价单宝塔做两个网站6
  • 百度站长工具怎么查排名贵港网站制作
  • 运城个人网站建设学校网站建设目的
  • 住房城乡建设部门门户网站购物网站排名大全
  • 手机网站平台江门网站建设模板
  • 做本地网站需要什么资质百度多长时间收录网站
  • 网站建设公司使用图片侵权使用者有无责任夸克免费空间
  • 网站建设制作鸿运通做网站能用python吗
  • 站长源码之家Wordpress 新建标签
  • 太原网站建设详细策划如何建设网站简答题
  • 乡村生态旅游网站建设方案如何做网站的导航栏
  • wordpress百度百科网站开发 seo
  • 网站主机名wordpress主题修改底部版权
  • 网站官网怎么做龙岩iot开发福建小程序建设
  • 哪个学校设有网站开发专业北京有哪些网站公司
  • 做网站需要的带宽上行还是下行湖南竞网科技有限公司
  • 帝国cms企业门户网站仿站视频教程 网盘互联网金融p2p网站建设
  • 个人网站备案涉及支付宝做二手的网站都有哪些
  • 如何给网站做宣传导航栏网页怎么制作
  • 返利网站建设高校精神文明建设网站
  • 河北百度推广seoseo全网优化指南
  • 网站建设网页开发一个类引用另一个类的方法
  • 第四章第二节网站建设的教学设计云南网站建设一度科技公司