
mysql
文章平均质量分 63
apache6
这个作者很懒,什么都没留下…
展开
-
也谈mysql的limit优化
测试环境操作系统: debian linux 服务器版本: Mysql 5.0.24Mysql数据库的Qcache缓存关闭数据库表testtable的参数:类型: MyISAM大小: >80MB记录规模: >50000字段数: >25个字段id是主键leibie字段上建有索引进行数据分段测试1>SQL不带where条件的测试1原创 2008-07-07 09:55:00 · 1049 阅读 · 0 评论 -
MySql数据库的字段类型
MySQL数据库的表是一个二维表,由一个或多个数据列构成。每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据,我们可以把整型数值存放到字符类型的列中,MySQL则会把它看成字符串来处理。MySQL中的列类型有三种:数值类、字符串类和日期/时间类。从大类原创 2008-06-18 11:16:00 · 4049 阅读 · 1 评论 -
Discuz!的Memcache缓存实现
Discuz!的Memcache缓存实现 单纯的从MySQL的角度出发,单台MySQL的数据库负载到每天上亿次的操作(每秒大概1100次MySQL操作,然后乘以86400)应该不是非常困难的事情。按照这个数据也就是说一个单MySQL服务器的论坛来说可以跑到2千万PV是不成问题的,但实际情况并不是如此。当论坛PV超过百万的时候一台WEB早已经不堪重负了。 目前的Discuz!论坛的基本服原创 2008-06-23 10:12:00 · 1630 阅读 · 0 评论 -
提高Mysql数据库的查询效率
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from原创 2008-07-01 13:59:00 · 731 阅读 · 0 评论 -
Mysql数据库优化配置
Mysql数据库优化配置(一)硬件方面的优化硬件方面,最容易成为Mysql瓶颈的部分是磁盘,其次是CPU和内存磁盘方面使用更快的磁盘,会对Mysql有很好的帮助使用更多的硬盘,通过Raid,可以提高单块磁盘速度的问题对于Raid方式,建议采用Raid 0+1 或者 Raid 1+0CPU毫无疑问,更高主频的CPU和更多的CPU数量可以给Mysql更高的性能内原创 2008-06-30 10:38:00 · 836 阅读 · 0 评论 -
MySQL5.1的多字符集支持
1)MySQL5.1对字符集支持1>使用多种字符集来存储字符串2>使用多种校对规则来比较字符串3>在同一台服务器、同一个数据库或甚至在同一个表中使用不同字符集或校对规则来混合字符串4>允许定义任何级别的字符集和校对规则MySQL服务器能够支持多种字符集可以使用SHOW CHARACTER SET语句列出可用的字符集:mysql> SHOW CHARACTER SET转载 2008-07-01 14:42:00 · 1107 阅读 · 0 评论 -
mysql 字符集
一. 显示字符集 mysqladmin -uroot -proot variables | grep character | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_resul原创 2008-07-04 10:16:00 · 538 阅读 · 0 评论 -
mysql查询优化方法
1 Where子句不用不等号(用了就无法使用索引了)2 Where子句不用函数(同上)3 Join子句中等号两边的数据类型要相同4 Like子句中用了前导%号,则无法使用索引5 尽量不用having子句,不利优化6 Order by 不要使用查询条件表达式7 对重复值索引没用8 单表索引总数不要超过16个9 不要用空行10 WHERE子句中的所有未使用的索引部分原创 2008-07-08 15:56:00 · 654 阅读 · 0 评论 -
Mysql如何避免全表扫描
如果MySQL需要做一次全表扫描来处理查询时,在 EXPLAIN 的结果中 type 字段的值是 ALL。 在以下几种条件下,MySQL就会做全表扫描: 1>数据表是在太小了,做一次全表扫描比做索引键的查找来得快多了。当表的记录总数小于10且记录长度比较短时通常这么做。 2>没有合适用于 ON 或 WHERE 分句的索引字段。 3>让索引字段和常量值比较,MySQL已经计算(基于原创 2008-10-16 12:18:00 · 1410 阅读 · 0 评论 -
提高MYSQL装载数据的效率
如何改善数据装载操作效率? 成批装载较单行装载更快,在装载每个记录后,不需要刷新索引高速缓存;可在成批记录装入后才刷新。 在表无索引时装载比索引后装载更快。如果有索引,不仅必须增加记录到数据文件,而且还要修改每个索引以反映增加了的新记录。 较短的SQL 语句比较长的SQL 语句要快,因为它们涉及服务器方的分析较少,而且还因为将它们通过网络从客户机发送到服务器更快。这些因素中有一原创 2008-06-17 14:03:00 · 854 阅读 · 0 评论 -
MYSQL常见错误代码
1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1010:不能删除数据目录导致删除数据库失败 1011:删除数据库文件失败 1012:不能读取系统表中的记录 1016错误:文件无法打开,使用后台修复或者使用phpmyadmin进行修复。原创 2008-06-13 14:48:00 · 768 阅读 · 0 评论 -
优化MySQL数据库查询
在优化查询中,数据库应用(如MySQL)即意味着对工具的操作与使用。使用索引、使用EXPLAIN分析查询以及调整MySQL的内部配置可达到优化查询的目的。 一条糟糕的SQL查询语句可对整个应用程序的运行产生严重的影响,其不仅消耗掉更多的数据库时间,且它将对其他应用组件产生影响。 优化查询性能的两种工具:使用索引,使用EXPLAIN分析查询以及调整MySQL的内部配置。1:转载 2008-06-04 13:10:00 · 497 阅读 · 0 评论 -
MySQL自动增加的编号用法
在数据库应用,我们经常要用到唯一编号。在MySQL中可通过字段的AUTO_INCREMENT属性来自动生成。MySQL支持多种数据表,每种数据表的自增属性都有所不同。 ISAM表 如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号。编号从1开始,并1为基数转载 2008-07-10 16:29:00 · 9822 阅读 · 0 评论 -
MYSQL的优化
1)数据库的设计1>尽可能使用更小的整数类型.(mediumint就比int更合适>2>尽可能的定义字段为not null,除非这个字段需要null.3>如果没有用到变长字段的话比如varchar,那就采用固定大小的纪录格式比如char.4>表的主索引应该尽可能的短.5>只创建确实需要的索引。索引有利于检索记录,但是不利于快速保存记录。如果总是要在表的组合字段上做搜索,那么就在这些字段上创建索引原创 2008-07-18 10:19:00 · 680 阅读 · 0 评论 -
MySQL的INSERT和REPLACE语句用法
INSERT和REPLACE语句的功能都是向表中插入新的数据。这两条语句的语法类似。它们的主要区别是如何处理重复的数据。 1. INSERT的一般用法 MySQL中的INSERT语句和标准的INSERT不太一样,在标准的SQL语句中,一次插入一条记录的INSERT语句只有一种形式。 INSERT INTO tablename(列名…) VALUES(列值); 而在MySQ原创 2008-08-07 21:27:00 · 4944 阅读 · 0 评论 -
MySQL中删除数据的两种方法
在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。因此,DELETE语句更灵活。 如果要清空表中的所有记录,可以使用下面的两种方法: DELETE FROM table1 TRUNCATE TABLE table1原创 2008-08-06 21:26:00 · 333807 阅读 · 6 评论 -
mysql查询优化之基于索引的排序
MySQL的弱点之一是它的排序。虽然MySQL可以在1秒中查询大约15,000条记录,但由于MySQL在查询时最多只能使用一个索引。因此,如果 WHERE条件已经占用了索引,那么在排序中就不使用索引了,这将大大降低查询的速度。 我们可以看看如下的SQL语句: SELECT * FROM SALES WHERE NAME = "jack" ORDER BY SALE_DATE DESC原创 2008-08-21 11:11:00 · 2050 阅读 · 0 评论 -
MySQL 如何优化 ORDER BY
在某些情况下,MySQL可以直接使用索引来满足一个 ORDER BY 或 GROUP BY 子句而无需做额外的排序。 尽管 ORDER BY 不是和索引的顺序准确匹配,索引还是可以被用到,只要不用的索引部分和所有的额外的 ORDER BY 字段在 WHERE 子句中都被包括了。 下列的几个查询都会使用索引来解决 ORDER BY 或 GROUP BY 部分:SELECT *原创 2008-08-22 10:20:00 · 5110 阅读 · 0 评论 -
mysql5的字符集和sql mode问题
mysql5添加了一些新的功能的规则,其中对开源程序影响比较大的有两个,一个是4.0.12+开始的4层次字符集,一个是5.0.18开始的默认strict mode。对于这两个问题,效率最好的解决方案,就是直接修改my.ini# The default character set that will be used when a new schema or table is # crea原创 2008-05-29 13:53:00 · 659 阅读 · 0 评论 -
PHP与MySQL开发中页面乱码的解决方法
一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析;其次是文件被以错误的编码打开,然后保存,比如一个文本文件原先是GB2312编码的,却以UTF-8编码打开再保存。 要解决上述乱码问题,首先需要知道开发中哪些环节涉及到了编码:1、文件编码 指的是页面文件(.html,.php等)本身是以何种编码来保存的。记事本和Dreamweaver在原创 2008-06-01 21:00:00 · 756 阅读 · 0 评论 -
Wordpress忘记密码的解决方法
1. Wordpress的密码在存入数据库是以md5码的形式存放根据此原理可以手动update数据库,重新设置自定的密码2. 通过执行Mysql语句修改Wordpress密码使用Phpmyadmin之类的工具, 登录你的数据库管理, 执行如下语句:update wp_uo2kml_users set password=password("新密码") where user=用户名;即可更新你的W转载 2009-05-06 13:34:00 · 1491 阅读 · 0 评论