智能运营助手mysql优化_第1页
智能运营助手mysql优化_第2页
智能运营助手mysql优化_第3页
智能运营助手mysql优化_第4页
智能运营助手mysql优化_第5页
已阅读5页,还剩7页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TABLEtablenamePRIMARYKEY表的方式加入主键,例如“ALTERTABLEtablenameADDPRIMARYKEYTABLEtablenamePRIMARYKEY表的方式加入主键,例如“ALTERTABLEtablenameADDPRIMARYKEYcreatetable(idintunsignedprimarykeyauto_increment,namevarchar(32)notnulldefault'');idcreatetablebbbidintnamevarchar(32notnulldefault'');altertableaddprimarykeyaltertablearticlesdropprimary showindexfromshowkeysfromCREATECREATETABLEarticlesidINTUNSIGNEDAUTO_INCREMENTNOTNULLPRIMARYKEY,titleVARCHAR(200),bodyFULLTEXT)engine=myisamcharsetINSERTINTOarticles(title,body)(MySQLTutorial,DBMSstandsforDataBase...(HowToUseMySQLWell,Afteryouwentthrougha...),(OptimizingMySQL,Inthistutorialwewillshow...(1001MySQLTricks,1.Neverrunmysqldasroot. (MySQLvs.YourSQL,Inthefollowingdatabase (MySQLSecurity,Whenconfiguredproperly, select*fromarticleswherebodylikemysqlselect*fromarticleswherematch(title,body)against(mysqlfulltextmyisammysqlfulltext>sphinxcoreseek)使用方法是match(字段名..)against(‘关键字’)全文索引:停止词,因为在一个文本中,创建索引是一个无穷大的数,因此,对一些常用mysql>selectmatch(title,bodyagainst('database')fromarticles;(输出的是每database)CREATEUNIQUEINDEXONtablenameALTERTABLEtablenameADDUNIQUE[索引的名字](列的列表);CREATETABLEtablenameUNIQUE的列表));createtableddd(idintprimarykeyauto_increment,namevarchar(32)uniqueNULL,NULL,createtableccc(idintunsigned,name)createindexon1,数据。索引的实现通常使用B树及其变种B+树。(注意逻辑上相邻的记录在磁盘上也并不是一定物理相邻的Col2O(log2n)的复杂度内获取到相应数查询时间;在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。例如人事表的列,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需text,imagebit修改性能和检索性能是互相的当加索引会高检索能是会降低改性能当减少引时会根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和索引。employee唯一。当在查询中使用主键索引时,它还允许对数据的快速。索引在索引中,比,索引通常提供更快的数据速度。部性的程序来说,预读可以提高I/O效率。统中,页得大小通常为4k),主存和磁盘以页为单位交换数据。当程序要的数据不在B-/+TreeB-/+Tree上文一般使用磁盘I/O次数评价索引结构的优劣先从B-Tree分析根据B-Tree的定义,可知检索一次最多需要h个节点。数据库系统的设计者巧妙利用了磁盘预读原I/O为了达到这个目的,在实际实现B-Tree还需要使用如下技巧:加之计算机分配都是按页对齐的,就实现了一个node只需一次I/O。B-Tree中一次检索最多需要h-1次I/O(根节点常驻内存),渐进复杂度为O(h)=O(logdN)。d100,h小(通常不超过3)。法利用局部性,所以树的I/O渐进复杂度也为O(h),效率明显比B-Tree差很多。综上所述,用B-Tree作为索引结构效率是非常高的。BB+1)BB在B树中查找给定关键字的方法是:首先把根结点取来,在根结点所包含的关键字KiKi+1Pi的下一层索引节点块继续查找,直到找到,或指针Pi为空时查找失败。2)B+B+键码从小到大顺序。如果实际数据对象按加入的顺序而不是按关键码次数的B+2所以B+树有两种搜索方法:BB+a,B维持B+树的平衡。在插入、删除操作复杂度明显增加。B+树相比来说是一种较好的折中。c,B树的查询效率与键在树中的位置有关,最大时间复杂度与B+树相同(在叶结点的时1B2MySQLexin执行计划解sqlsqlsqlMySql提供了EXIN语法用来进行查询分析,在SQL语句前加一个"EXIN"即可。比如我们要分析如下SQLexinselect*fromtablewheretable.id=运行上面的sqltable|type|possible_keys|key|key_len|ref|rows| const(索引可以是主键或惟一索引)。因为只有一行,这个值实际就是常数,因为MYSQLeq_ref:在连接中,MYSQL在查询时,从前面的表中,对每一个记录的联合都从表中一个记录,它在ref)显示可能应用在这中的索引。如果为空,没有可能的索引。可以为相关的域从WHERE语句中选择一个实际使用的索引。如果为NULL,则没有使用索引。很少的情况下,MYSQLSELECTUSEINDEX(indexname)IGNOREINDEX(indexname)MYSQLUsingfilesortMYSQL说明:extraDistinctmysqlNotexists:mysqlLEFTJOINLEFTJOINRangecheckedforeachRecord(indexmap:#)行组合,mysqlUsingfilesortmysqlUsingindex:列数据是从仅仅使用了索引中的信息而没有实际的行动的表返回的,这发生在对表的Usingtemporary:看到这个的时候,查询需要优化了。这里,mysql需要创建一个临时表来结果,ORDERBYGROUPBYWhereused:使用了WHERE从句来限制哪些行将与下一匹配或者是返回给用户。如果不想返回表中的ALL或index,这就会发生,或者是查询有问题。因,明白了xin法回每项果我就道询致运时了如查里有mysl中的exin语可帮我改查优表结和引设而地高询率当,在规数量,引建和代也很的往要长时和大空,果不DML(update、delete、insert)语句的效率影响Select*fromempwhere=’男’where创建一createPROCEDUREinsert_dept(increatePROCEDUREinsert_dept(instartint(10),inmax_numint(10))declareiintDEFAULT0; setinsertintodeptvaluesUNTILi=max_numendREPEAT;callaltertableaddprimarykeyaltertabledeptaddindexmy_inddname,loc dname左边的列,locexinselect*fromdeptwhereloc='aaa'\Gor关键字showstatuslikehandler_read%’;handler_read_key:这个值越好,越高表示使用索引查询到的次数SQLgroupbygroupby后面增加orderbynull就可以防止排序.exinselect*fromempgroupbydeptnoorderbyjoin,MySQLselect*fromdept,empwheredept.deptno=emp.deptno;select*fromdeptleftjoinempondept.deptno=emp.deptno;③对查询进行优化,要尽量避免全表扫描,首先应考虑在where及orderby涉及的列wherenullselectidfromtwherenumisNULL,NOTNULLNULL,NULL管是否插入值(NULL),100varchar样的变长字段,null不占用空间。num0numnullselectidfromtwherenum=mysqlsql语句调优查看http:/ MySQL使用的引擎myisam/innodb/bbsINNODB:对事务要求高,保存的数据都是重要数据,我们建议使用INNODB,比如订单MyISAMINNODBMyISAMINNODBPHPMemory,比如我们数据变化频繁,不需要入库,同时又频繁的查询和修改,我们考虑memory,速度极快.(mysql)Myisam如果你的数据库的引擎是myisam,请一定记住要定时进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论