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

建设网站都需投入哪些资源广州建网站比较有名的公司

建设网站都需投入哪些资源,广州建网站比较有名的公司,芝麻开门网站建设,培训一、存储引擎1、InnoDB⑴InnoDB是基于聚簇索引建立的#xff0c;基于主键索引查询时#xff0c;性能较好#xff1b;它的辅助索引中必须包含主键列#xff1b;因此#xff0c;若表上的索引较多#xff0c;为节约空间#xff0c;主键应尽可能小⑵InnoDB支持自适应hash索引… 一、存储引擎  1、InnoDB    ⑴InnoDB是基于聚簇索引建立的基于主键索引查询时性能较好它的辅助索引中必须包含主键列因此若表上的索引较多为节约空间主键应尽可能小    ⑵InnoDB支持自适应hash索引、事务、行级锁、热备份采用MVCC支持高并发不支持全文索引    ⑶表存储格式     ①将所有innodb表的数据放置同一个表空间中         表结构定义tb_name.frm 数据库目录下         数据和索引统一的表空间文件中默认路径是数据目录下ibdata#       innodb_data_file_path表空间文件的文件名称及特性         可使用相对(相对于innodb_data_home_dir而言)或绝对路径且可定义多个文件         例innodb_data_file_path ibdata1:20G;ibdata2:10G;ibdata3:1G:autoextend       innodb_data_home_dir表空间文件的存储位置省略时表示使用数据目录(datadir变量定义的位置)     ②每张表使用单独表空间MariaDB中已默认启用此存储格式             表结构定义tb_name.frm         数据和索引tb_name.ibd       SET {GLOBAL|SESSION} innodb_file_per_table on;       优点迁移或备份数据更精细灵活       缺点DROP TABLE操作的性能较差    ⑷InnoDB缓冲池buffer pool由InnoDB维护的内存空间用于缓存索引及数据缓冲池如果太大预热会比较慢。       innodb_buffer_pool_size    ⑸查看InnoDB存储引擎的状态SHOW ENGINE INNODB STATUS;  2、MyISAM    ⑴MySQL 5.5.5之前的默认引擎     支持全文索引、压缩、空间函数     不支持外键约束     不支持事务、行级锁、热备份     读写互相阻塞     崩溃后无法安全恢复     支持延迟更新索引键(delay_key_write)每次修改表后修改的索引数据不会立即写入磁盘而是写入内存的键缓冲区只有当清理键缓冲区或关闭表时才会写入磁盘这样提高了写性能但数据库崩溃时易造成索引损坏。     MyISAM可以通过 key_buffer_size 缓存索引键但此缓存只会缓存索引不会缓存数据     读取数据快占用资源相对少    ⑵表存储格式每张表都有三个文件位于数据库目录下       tb_name.frm表格式       tb_name.MYD数据       tb_name.MYI索引  3、其它存储引擎     Memory早期叫HEAP表将数据放在内存中因此访问速度快但无法持久存储数据显式支持hash索引。     CSV将数据存储为文本文件字段以逗号分隔不支持索引常用于数据交换的场景。     MergeMyISAM的变种将多个MyISAM表合并表示为一个虚拟表     Federated访问其它MySQL服务上数据的代理MariaDB上用的是FederatedX     Blackhole没有任何存储机制所以会丢弃所有的插入的数据     NDBClustermysql集群的存储引擎     第三方存储引擎       OLTP类         XtraDBInnoDB的改进版         PBXT支持ACID和MVCC         TokuDB支持使用分形树的索引结构适用存储大数据       面向列的存储的引擎按列为单位进行存储适合压缩等适用于存储大数据         Infobright, InfiniDB, LucidDB       社区引擎         AriaMyISAM的改进版支持崩溃后安全恢复         OQGraph支持图操作         SphinxSE为sphinx全文搜索引擎提供了SQL接口         Spider可以将数据切分成不同的分区较透明实现分片功能  4、查看默认存储引擎      show global variables like %storage_engine;      mysql 5.5之后默认存储引擎为innodb  5、存储引擎的选择      选择标准是否支持事务热备份崩溃后恢复等      数据仓库建议使用MyISAM或Aria在线事务处理建议使用InnoDBMariaDB [testdb] show engines; ----------------------------------------------------------------------------------------------------------------------------------------- | Engine             | Support | Comment                                                                    | Transactions | XA   | Savepoints | ----------------------------------------------------------------------------------------------------------------------------------------- | PERFORMANCE_SCHEMA | YES     | Performance Schema                                                         | NO           | NO   | NO         | | CSV                | YES     | CSV storage engine                                                         | NO           | NO   | NO         | | MRG_MyISAM         | YES     | Collection of identical MyISAM tables                                      | NO           | NO   | NO         | | BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears)             | NO           | NO   | NO         | | MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables                  | NO           | NO   | NO         | | Aria               | YES     | Crash-safe tables with MyISAM heritage                                     | NO           | NO   | NO         | | ARCHIVE            | YES     | Archive storage engine                                                     | NO           | NO   | NO         | | MyISAM             | YES     | MyISAM storage engine                                                      | NO           | NO   | NO         | | InnoDB             | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        | ----------------------------------------------------------------------------------------------------------------------------------------- 9 rows in set (0.04 sec)MariaDB [(none)] show global variables like %storage_engine; -------------------------------- | Variable_name          | Value  | -------------------------------- | default_storage_engine | InnoDB | | storage_engine         | InnoDB | -------------------------------- 2 rows in set (0.00 sec)MariaDB [(none)] select global.innodb_file_per_table; -------------------------------- | global.innodb_file_per_table | -------------------------------- |                              1 | -------------------------------- 1 row in set (0.00 sec)MariaDB [(none)] \! ls /mydata/data aria_log.00000001  hellodb  ib_logfile0  multi-master.info  mysql-bin.000001  mysql-bin.000003 mysql-bin.000005  node1.err  performance_schema  testdb aria_log_control   ibdata1  ib_logfile1  mysql     mysql-bin.000002  mysql-bin.000004 mysql-bin.index   node1.pid  test MariaDB [(none)] \! ls /mydata/data/testdb db.opt students.frm  students.ibd  wuxia.frm  wuxia.ibd二、查询缓存    ⑴查询的执行流程    SELECT→[QUERY CACHE(查询缓存)→]PARSER(解析器)→OPTIMIZER(优化器)→EXECUTING ENGINE(执行引擎)→STORAGE ENGINE    开启MySQL查询缓存功能后查询缓存会保存查询返回的完整结果当查询命中该缓存MySQL会立刻返回结果而跳过分析、优化和执行阶段。  ⑵缓存的内容是key-value格式      key查询语句的hash码      value查询语句的执行结果  ⑶查询缓存的优缺点      优点当查询命中缓存时就能直接返回结果跳过了后续一系列繁琐的过程因此速度大大提升      缺点因为要跟缓存中的键比对因此当查询未命中缓存时实际上是给整个查询过程增加了一项开销此外当并发量较大时缓存成了资源争用点有可能成为性能瓶颈。  ⑷什么样的语句不会缓存      查询语句中有不确定数据时不会缓存,比如current_time()      一般来说如果查询中包含用户自定义的函数、存储函数、用户变量、临时表、mysql库中表、或者任何包含权限信息表都不会缓存  ⑸缓存什么场景下会比较有效      对于需要牵扯大量资源的查询非常适合启用缓存      不适宜数据更新频繁的场景因为那样缓存失效很快  ⑹与缓存功能相关的服务器变量        SHOW GLOBAL VARIABLES LIKE query_cache%;      query_cache_limit: MySQL能够缓存的最大查询结果如果某查询的结果大于此值则不会被缓存      query_cache_min_res_unit: 查询缓存中分配内存的最小单位        计算公式(query_cache_size-Qcache_free_memory)/Qcache_queries_in_cache即(总空间-剩余空间)/查询的个数      query_cache_size: 查询缓存的总体可用空间其必须为1024的倍数0表示关闭缓存      query_cache_type: ON, OFF, DEMAND        DEMAND按需进行缓存意思是只有明确写明要缓存的SELECT语句的结果才会进行缓存 SQL_CACHE | SQL_NO_CACHE      query_cache_wlock_invalidate当其它会话锁定此次查询的资源时是否不能再从缓存中返回数据  ⑺与缓存相关的状态变量       SHOW GLOBAL STATUS LIKE Qcache%;      Qcache_free_blocks      Qcache_free_memory      Qcache_hits: 缓存命中的次数      Qcache_inserts: 插入的缓存的个数      Qcache_lowmem_prunes: 由于可用缓存空间过低导致清理缓存的次数      Qcache_not_cached      Qcache_queries_in_cache: 仍留在缓存空间中的缓存的个数      Qcache_total_blocks  ⑻衡量缓存的有效性命中率, hit/(hitmiss)     常以 Qcache_hits/Com_select 的值作为参考     另外也可参考 Qcache_hits/Qcache_inserts。如果此比值大于3:1, 说明缓存也是有效的如果高于10:1相当理想  ⑼缓存优化的思路   ①批量写入比单次写入对缓存的影响要小得多   ②缓存空间不宜过大大量缓存的同时失效会导致MySQL假死   ③必要时使用SQL_CACHE或SQL_NO_CACHE手动控制缓存   ④对写密集型的应用场景禁用缓存反而能提高性能  ⑽碎片整理FLUSH QUERY CACHE;  ⑾清空缓存RESET QUERY CACHE;MariaDB [(none)] show global variables like query_cache%; ---------------------------------------- | Variable_name                | Value    | ---------------------------------------- | query_cache_limit            | 1048576  | | query_cache_min_res_unit     | 4096     | | query_cache_size             | 16777216 | | query_cache_strip_comments   | OFF      | | query_cache_type             | ON       | | query_cache_wlock_invalidate | OFF      | ---------------------------------------- 6 rows in set (0.00 sec)MariaDB [testdb] show global status like Qcache%; ----------------------------------- | Variable_name           | Value    | ----------------------------------- | Qcache_free_blocks      | 1        | | Qcache_free_memory      | 16757096 | | Qcache_hits             | 8        |   #命中8次 | Qcache_inserts          | 41       | | Qcache_lowmem_prunes    | 0        | | Qcache_not_cached       | 65       | | Qcache_queries_in_cache | 2        |   #缓存中仍有两个条目 | Qcache_total_blocks     | 6        | ----------------------------------- 8 rows in set (0.00 sec)MariaDB [testdb] reset query cache;   #清空查询缓存 Query OK, 0 rows affected (0.00 sec)MariaDB [testdb] show global status like Qcache%; ----------------------------------- | Variable_name           | Value    | ----------------------------------- | Qcache_free_blocks      | 1        | | Qcache_free_memory      | 16759656 | | Qcache_hits             | 8        | | Qcache_inserts          | 41       | | Qcache_lowmem_prunes    | 0        | | Qcache_not_cached       | 65       | | Qcache_queries_in_cache | 0        |   #缓存中已没有条目 | Qcache_total_blocks     | 1        | ----------------------------------- 8 rows in set (0.00 sec) 转载于:https://blog.51cto.com/9124573/1750542
http://www.zqtcl.cn/news/641815/

相关文章:

  • 网站后台生成文章很慢网络营销毕业设计
  • 如何把资料上传到网站什么叫高端网站定制
  • 郑州企业网站建设团队什么是交换链接
  • 如何建立一个外贸公司网站活动营销的方式有哪些
  • 上海工程造价咨询公司余姚网站seo运营
  • 小加工厂做网站wordpress免费主题破解版
  • 网站打开风险怎么解决企业建设网站网站建设公司
  • 随州网站建设公司wordpress怎样上传主题
  • 做外链等于网站更新么台州椒江网站建设
  • 自己搭建一个博客网站网络营销是什么大类
  • 10元网站备案php企业网站开发实训报告
  • 建筑网站设计大全wordpress模板死循环
  • 网站优化排名软件泌阳网站建设
  • 网站反向绑定域名企业网站的建立网络虚拟社区时对于企业
  • 重庆大渡口网站建设解决方案梓潼 网站建设 有限公司
  • 高端平面网站东营住房和城乡建设厅网站
  • 品牌网站建设e小蝌蚪易时代网站
  • 做搜狗手机网站点击软网站建设有哪些种类
  • 想自学做网站太原要做网站的公司
  • 站内seo优化淘宝网站推广策划方案
  • 福建建设执业注册中心网站网址格式怎么写
  • 网站开发外包公司坑襄垣城乡建设管理局的网站
  • 网络公司怎么做网站常州新北区网站建设
  • 扬州专业外贸网站建设推广做详情页上什么网站找素材
  • 北京做网站设计招聘深圳市住房和建设局官网平台
  • 冻品网站建设网站头图设计
  • 手机网站分辨率做多大h5微网站建设多少钱
  • 网站制作软件下载公司怎么注册邮箱帐号
  • 做婚纱网站的图片园林设计
  • 濮阳公司建站淮北城市住建网