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

代备案网站空间网站建设与规划心得

代备案网站空间,网站建设与规划心得,大兴高端网站建设,寻找赣州网站建设前言 MySQL和MariaDB是数据库管理系统的流行选择。两者都使用SQL查询语言来输入和查询数据。 尽管SQL查询是简单易学的命令#xff0c;但并不是所有的查询和数据库函数都具有相同的效率。随着你存储的信息量的增长#xff0c;如果你的数据库支持一个网站#xff0c;随着网…前言 MySQL和MariaDB是数据库管理系统的流行选择。两者都使用SQL查询语言来输入和查询数据。 尽管SQL查询是简单易学的命令但并不是所有的查询和数据库函数都具有相同的效率。随着你存储的信息量的增长如果你的数据库支持一个网站随着网站的受欢迎程度的增加这就变得越来越重要。 在本指南中我们将讨论一些可以提高MySQL和MariaDB查询速度的简单方法。我们假设您已经使用我们的指南安装了MySQL或MariaDB该指南适合您的操作系统。 表设计概述 提高查询速度的最基本方法之一是从表结构设计本身开始的。这意味着在开始使用软件之前就需要开始考虑组织数据的最佳方式。 下面是一些你应该问自己的问题: 表的主要用途是什么? 预测如何使用表中的数据通常决定了设计数据结构的最佳方法。 如果需要经常更新某些数据通常最好将它们放在单独的表中。如果做不到这一点就会导致查询缓存(在软件中维护的内部缓存)被一次次地转储和重建因为它发现有新的信息。如果这发生在单独的表中其他列可以继续利用缓存。 更新操作通常在较小的表上更快而对复杂数据的深入分析通常是一项最好留给大型表的任务因为连接操作的开销很大。 需要什么样的数据类型? 有时如果您能够预先对数据大小进行一些限制从长远来看它可以为您节省大量时间。 例如如果某个字段的值为string有效的条目数量有限那么可以使用enum类型而不是varchar类型。这种数据类型很紧凑因此查询起来很快。 例如如果用户只有几种不同的类型可以在处理enum的列中设置admin、moderator、poweruser、user。 要查询哪些列? 提前知道哪些字段会被重复查询可以极大地提高速度。 为你希望用于搜索的列建立索引大有帮助。你可以使用以下语法在创建表时添加索引: CREATE TABLE example_table ( id INTEGER NOT NULL AUTO_INCREMENT, name VARCHAR(50), address VARCHAR(150) , username VARCHAR(16), PRIMARY KEY (id), INDEX (username) );如果我们知道用户将根据用户名搜索信息这将很有用。这将创建一个表,这些属性: explain example_table; ----------------------------------------------------------- | Field | Type | Null | Key | Default | Extra | ----------------------------------------------------------- | id | int(11) | NO | PRI | NULL | auto_increment | | | name | varchar(50) | YES | | NULL | | | address | varchar(150) | YES | | NULL | | | username | varchar(16) | YES | MUL | NULL | | ----------------------------------------------------------- 4 rows in set (0.00 sec) 如你所见我们的表有两个索引。第一个是主键在本例中是id字段。第二个是我们为username字段添加的索引。这将改进利用该字段的查询。 虽然从概念的角度来看在创建过程中考虑哪些字段应该被索引是很有用的但向现有的表添加索引也很简单。你可以像这样添加一个: CREATE INDEX index_name ON table_name(column_name); 另一种方法完成同样的事情是这样的: ALTER TABLE table_name ADD INDEX ( column_name ); 使用Explain在查询中查找要索引的点 如果你的程序以一种可预测的方式进行查询你应该分析你的查询以确保它们尽可能地使用索引。使用explain函数很容易做到这一点。 我们将导入一个MySQL sample数据库来看看其中的一些工作原理: wget https://launchpad.net/test-db/employees-db-1/1.0.6/download/employees_db-full-1.0.6.tar.bz2 tar xjvf employees_db-full-1.0.6.tar.bz2 cd employees_db mysql -u root -p -t employees.sql现在我们可以登录到MySQL以便运行一些查询: mysql -u root -p use employees;首先我们需要指定MySQL不应该使用它的缓存这样我们就可以准确地判断这些任务完成所需的时间: SET GLOBAL query_cache_size 0; SHOW VARIABLES LIKE query_cache_size;------------------------- | Variable_name | Value | ------------------------- | query_cache_size | 0 | ------------------------- 1 row in set (0.00 sec)现在我们可以在大型数据集上运行一个简单的查询: SELECT COUNT(*) FROM salaries WHERE salary BETWEEN 60000 AND 70000;---------- | count(*) | ---------- | 588322 | ---------- 1 row in set (0.60 sec)要查看MySQL如何执行查询你可以直接在查询之前添加explain关键字: EXPLAIN SELECT COUNT(*) FROM salaries WHERE salary BETWEEN 60000 AND 70000;------------------------------------------------------------------------------------------- | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | ------------------------------------------------------------------------------------------- | 1 | SIMPLE | salaries | ALL | NULL | NULL | NULL | NULL | 2844738 | Using where | ------------------------------------------------------------------------------------------- 1 row in set (0.00 sec)如果你查看key字段你会发现它的值是NULL。这意味着此查询没有使用索引。 让我们添加一个并再次运行查询看看它是否加快了速度: ALTER TABLE salaries ADD INDEX ( salary ); SELECT COUNT(*) FROM salaries WHERE salary BETWEEN 60000 AND 70000;---------- | count(*) | ---------- | 588322 | ---------- 1 row in set (0.14 sec)如你所见这显著提高了我们的查询性能。 另一个使用指数一般规则是注意表连接。您应该创建指数和任何列上指定相同的数据类型,将用于连接表。 例如如果你有一张名为cheeses的表和一张名为“ingredients”的表你可能希望对这两张表的ingredient_id字段进行联结操作这两个字段可以是INT类型。 然后我们可以为这两个字段创建索引我们的连接将加快速度。 优化查询以提高速度 在尝试加速查询时等式的另一半是优化查询本身。某些操作比其他操作的计算量更大。通常有多种方法可以得到相同的结果其中一些方法可以避免昂贵的操作。 根据你所使用的查询结果,你可能只需要一个有限数量的结果。例如如果你只需要知道该公司是否有人年收入低于4万元你可以使用: SELECT * FROM SALARIES WHERE salary 40000 LIMIT 1;---------------------------------------- | emp_no | salary | from_date | to_date | ---------------------------------------- | 10022 | 39935 | 2000-09-02 | 2001-09-02 | ---------------------------------------- 1 row in set (0.00 sec)这个查询执行得非常快因为它基本上在第一个正结果时短路。 如果你的查询使用“or”比较并且两个组件测试不同的字段你的查询可能会比必要的长。 例如如果要搜索姓或名以“Bre”开头的员工则必须搜索两个独立的列。 SELECT * FROM employees WHERE last_name like Bre% OR first_name like Bre%;如果在一个查询中搜索名字在另一个查询中搜索姓氏然后合并输出那么这个操作可能会更快。我们可以使用union操作符: SELECT * FROM employees WHERE last_name like Bre% UNION SELECT * FROM employees WHERE first_name like Bre%;在某些情况下MySQL会自动使用union操作。上面的例子实际上是MySQL自动执行此操作的一种情况。你可以通过再次使用explain检查排序的类型来查看是否是这种情况。 总结 在MySQL和MariaDB表和数据库中对用例调整的方法有很多种。本文仅包含一些可能对您入门有用的技巧。 这些数据库管理系统提供很多的帮助文档教你如何优化和调整不同的场景。具体细节很大程度上取决于您希望优化的功能类型否则它们将被完全优化开箱即用。一旦你确定了你的需求并掌握了执行的操作你就可以学习调整这些查询的设置。
文章转载自:
http://www.morning.pclgj.cn.gov.cn.pclgj.cn
http://www.morning.lhxrn.cn.gov.cn.lhxrn.cn
http://www.morning.cpqwb.cn.gov.cn.cpqwb.cn
http://www.morning.fnmtc.cn.gov.cn.fnmtc.cn
http://www.morning.xcnwf.cn.gov.cn.xcnwf.cn
http://www.morning.hjlsll.com.gov.cn.hjlsll.com
http://www.morning.qwpdl.cn.gov.cn.qwpdl.cn
http://www.morning.zdxinxi.com.gov.cn.zdxinxi.com
http://www.morning.wnmdt.cn.gov.cn.wnmdt.cn
http://www.morning.tqhpt.cn.gov.cn.tqhpt.cn
http://www.morning.rfmzs.cn.gov.cn.rfmzs.cn
http://www.morning.xbnkm.cn.gov.cn.xbnkm.cn
http://www.morning.qsmdd.cn.gov.cn.qsmdd.cn
http://www.morning.lcmhq.cn.gov.cn.lcmhq.cn
http://www.morning.xqkjp.cn.gov.cn.xqkjp.cn
http://www.morning.njdtq.cn.gov.cn.njdtq.cn
http://www.morning.snyqb.cn.gov.cn.snyqb.cn
http://www.morning.pqjlp.cn.gov.cn.pqjlp.cn
http://www.morning.cmfkp.cn.gov.cn.cmfkp.cn
http://www.morning.ysllp.cn.gov.cn.ysllp.cn
http://www.morning.xbmwm.cn.gov.cn.xbmwm.cn
http://www.morning.wnmdt.cn.gov.cn.wnmdt.cn
http://www.morning.rgsnk.cn.gov.cn.rgsnk.cn
http://www.morning.dblfl.cn.gov.cn.dblfl.cn
http://www.morning.tynqy.cn.gov.cn.tynqy.cn
http://www.morning.dqcpm.cn.gov.cn.dqcpm.cn
http://www.morning.xyjlh.cn.gov.cn.xyjlh.cn
http://www.morning.rxnxl.cn.gov.cn.rxnxl.cn
http://www.morning.hphfy.cn.gov.cn.hphfy.cn
http://www.morning.gcfg.cn.gov.cn.gcfg.cn
http://www.morning.fqcdh.cn.gov.cn.fqcdh.cn
http://www.morning.bqmhm.cn.gov.cn.bqmhm.cn
http://www.morning.dmlsk.cn.gov.cn.dmlsk.cn
http://www.morning.mygbt.cn.gov.cn.mygbt.cn
http://www.morning.rnmmh.cn.gov.cn.rnmmh.cn
http://www.morning.ghccq.cn.gov.cn.ghccq.cn
http://www.morning.rcwzf.cn.gov.cn.rcwzf.cn
http://www.morning.qyjqj.cn.gov.cn.qyjqj.cn
http://www.morning.fmry.cn.gov.cn.fmry.cn
http://www.morning.kkrnm.cn.gov.cn.kkrnm.cn
http://www.morning.gkgb.cn.gov.cn.gkgb.cn
http://www.morning.npcxk.cn.gov.cn.npcxk.cn
http://www.morning.rpdmj.cn.gov.cn.rpdmj.cn
http://www.morning.zwwhq.cn.gov.cn.zwwhq.cn
http://www.morning.cwrnr.cn.gov.cn.cwrnr.cn
http://www.morning.bqwrn.cn.gov.cn.bqwrn.cn
http://www.morning.ldhbs.cn.gov.cn.ldhbs.cn
http://www.morning.zlcsz.cn.gov.cn.zlcsz.cn
http://www.morning.lyzwdt.com.gov.cn.lyzwdt.com
http://www.morning.msxhb.cn.gov.cn.msxhb.cn
http://www.morning.yrpd.cn.gov.cn.yrpd.cn
http://www.morning.ktcfl.cn.gov.cn.ktcfl.cn
http://www.morning.clpdm.cn.gov.cn.clpdm.cn
http://www.morning.pfjbn.cn.gov.cn.pfjbn.cn
http://www.morning.kmqlf.cn.gov.cn.kmqlf.cn
http://www.morning.lbgfz.cn.gov.cn.lbgfz.cn
http://www.morning.kstlm.cn.gov.cn.kstlm.cn
http://www.morning.xqjrg.cn.gov.cn.xqjrg.cn
http://www.morning.rxpp.cn.gov.cn.rxpp.cn
http://www.morning.nchsz.cn.gov.cn.nchsz.cn
http://www.morning.jfwrf.cn.gov.cn.jfwrf.cn
http://www.morning.gfpyy.cn.gov.cn.gfpyy.cn
http://www.morning.zqcsj.cn.gov.cn.zqcsj.cn
http://www.morning.nbnpb.cn.gov.cn.nbnpb.cn
http://www.morning.mhnrx.cn.gov.cn.mhnrx.cn
http://www.morning.jwtwf.cn.gov.cn.jwtwf.cn
http://www.morning.tnrdz.cn.gov.cn.tnrdz.cn
http://www.morning.jrrqs.cn.gov.cn.jrrqs.cn
http://www.morning.rsdm.cn.gov.cn.rsdm.cn
http://www.morning.cxtbh.cn.gov.cn.cxtbh.cn
http://www.morning.tkyry.cn.gov.cn.tkyry.cn
http://www.morning.tkzrh.cn.gov.cn.tkzrh.cn
http://www.morning.sgpnz.cn.gov.cn.sgpnz.cn
http://www.morning.hwzzq.cn.gov.cn.hwzzq.cn
http://www.morning.ai-wang.cn.gov.cn.ai-wang.cn
http://www.morning.dkcpt.cn.gov.cn.dkcpt.cn
http://www.morning.drtgt.cn.gov.cn.drtgt.cn
http://www.morning.mplld.cn.gov.cn.mplld.cn
http://www.morning.shyqcgw.cn.gov.cn.shyqcgw.cn
http://www.morning.trsdm.cn.gov.cn.trsdm.cn
http://www.tj-hxxt.cn/news/274285.html

相关文章:

  • 福建金融公司网站建设wordpress 正在跳转中 请稍等
  • 下载爱南宁官方网站全网营销型网站新闻
  • 石家庄学做网站建设培训班ui中国设计网站页面
  • 企业网站设计制作价格网页设计案例图片
  • 做网站每年要交不费用吗建设电影网站赚钱
  • 北海哪家做网站wordpress 会被取代吗
  • 给个做的网站intellij idea做网站
  • 网站制作的合同长春网站制作培训
  • 企业网络推广网站建设深圳建设交易平台官网
  • django 网站开发wordpress教程 主页
  • 网站不想被收录互联网营销师考试题及答案
  • 怎样下载模板网站wordpress推荐阅读区块
  • 广州住房公积金建设银行预约网站网站建设项目经验
  • 珠海做网站哪间好昆明网站建设哪家公司好
  • 石基网站建设旅行做攻略的网站
  • 东莞网站优化方法有哪些免费wordpress网站
  • 湖南建设长沙网站建设价格广州市第一建筑工程有限公司
  • 嘉兴市南湖区建设局网站网站建设_制作_设计
  • 历下区网站建设公司自己设计网页怎么做
  • 网站建设课程设计报告php正规的淘宝代运营公司
  • 西安免费企业网站模板图片中国电信的视频播放器
  • jsp网站建设代码网站制作编辑软件
  • 零食网站建设需求分析赤壁市药监局网站建设方案
  • 图片演示dw做网站wordpress通知站点360搜索
  • phpcms网站系统 技术方案 系统框架图宁波网站建设应届生
  • 绵阳网站建设价格精准客源引流平台
  • 邯郸网站设计招聘外包小程序开发的价格
  • 想做一个电影网站该怎么做黔西南州建设局网站
  • 找建设网站公司哪家好安徽省城乡和建设厅网站
  • 国外域名交易网站网红营销套路