标签:MySQL相关的结果16条:

mysql的sql中若用IN查询时,若IN内的数据较大时,不走索引的解决办法

    有时候用IN查询时,可以很方便、直观的解决SQL的组装。但若IN中的数据较大时,基本就不走索引了。有几个解决方法:1、不用IN,这是废话,不在本篇文章中讨论;2、在SQL中指定走哪个索引;如果系统中用IN的地方比较多,维护起来也麻烦。3、修改MYSQL的eq_range_index_dive_limit参数,用来设置的阀值来按照不同算法预估影响行数,对于IN或OR条件中的每个范围段视为一个元组,对于元组数低于eq_range_index_dive_limit参数阀值时使用indexdive,高于阀值时使用indexdive:针对每个元组dive到index中使用索引完成元组数的估算,类似于使用…
    标签:MySQL发布于:2021-01-09 22:18:13

Mysql性能之SQL语句性能优化

    1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。

    2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。

    3,应尽量避免在 where 子句中使用!=或<>操作符, MySQL只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些时候的LIKE。

    4,应尽量避免在 where 子句中使用 or 来连接条件, 否则将导致引擎放弃使用索引而进行全表扫描, 可以 使用UNION合并查询: select id from t where num=10 union all select id from t where num=20

    标签:MySQL优化发布于:2020-03-02 08:27:44

WDCP升级5.2.17到5.3.17同时编译pdo_mysql

    WDCP中,把php5.2.17升级到5.3.17时,原先的pdo_mysql和memcache扩展都失效了,需要重新编译安装。这个过程很麻烦,特别是编译pdo_mysql后,还得手工加在php.ini中。 其实,可以在升级php版本同时把pdo_mysql也直接编译进去。只需要在./configure 后面的参数加上:--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd即可。

    标签:MySQLphpphp.inimemcache发布于:2014-12-12 22:57:35

如何测试MySQL的压力?

    生产服务器用LANMP组合和用LAMP组合有段时间了,总体来说都很稳定。但出现过几次因为MYSQL并发太多而挂掉,一直想对MYSQL做压力测试。刚看到一篇介绍MYSQL压力测试的文章,确实不错,先收藏先吧。

    标签:MySQL评论数:4发布于:2013-04-01 22:47:18

mysql存储日期的方式

    最近遇到了在MYSQL里存储日期的一些问题。之前日期存储的格式如(2011-07-08 16:30:45),后来在使用时发现有些不便。查了一下,发觉使用UNIX时间戳是很好的办法。UNIX时间戳是以UTC时间1970年1月1日 00:00:00作为0值,离这个时间每过1秒,数值增加1。

    标签:MySQL评论数:2发布于:2011-07-08 16:03:31

基础篇:CentOS常用命令收藏

    这几天开始折腾LNMP,说实在的LNMP组合确实强大。不过对于WINDOWS的用户来说上手太难了。好在10年前我学过DOS,也还算比较了解,对于LNMP下要用命令来配置,还是值得学习。嗯,以后会收集记录一个LNMP的使用文章。什么是LNMP?就是Linux+Nginx+MySQL+PHP。

    标签:MySQLCentOSNginxlinux发布于:2011-03-30 12:21:28

利用mysql数据库中的TMD表修复“is marked as crashed and last (automatic?) repair failed”的错误

    昨天不知是什么原因,网站的MYSQL数据库突然提示“is marked as crashed and last (automatic?) repair failed”采用phpmyadmin进行查看时,发现有个表由原来28M的变成了8M,并且提示这个表正在使用中。开始试着用phpmyadmin直接进行修复操作,但问题仍然存在。
    开始认为文件损坏不能再修复回来。只好找来备份的SQL文件还原到一个临时的数据库中,并复制这个表的MYD替换掉正在使用的数据库中。虽然网站能访问了,可数据却不存并,备份中里的数据也显示不出来。

    标签:MySQL数据库TMD修复phpmyadmin发布于:2010-04-15 14:56:53

使用批处理实现mysql数据库备份与上传

    有一台windows服务器上跑着mysql的一些应用,现在需要将mysql的数据每天备份,并通过ftp上传到指定的存储服务器上

    要是在linux上,shell 脚本很容易就搞定了,在windows上习惯了点鼠标,哪里来的脚本,一时还真不知道该怎么弄.baidu,google得知可以通过批处理或者vbs脚本实现.

    标签:MySQL批处理发布于:2008-05-11 09:05:48

MySQL实现表中取出随机数据

    以前在群里讨论过这个问题,比较的有意思.MySQL的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了。rand在手册里是这么说的:RAND()RAND(N)返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。你不能在一个ORDERBY子句用RAND()值使用列,因为ORDERBY将重复计算列多次。然而在MySQL3.23中,你可以做:SELECT*FROMtable_nameORDERBYRAND(),这是有利于得到一个来自SELECT*FROMtable1,table2WHEREa=bANDc…
    标签:MySQL随机评论数:2发布于:2008-01-08 02:01:37

MySQL优化全攻略-相关数据库命令

    我们讨论的是数据库性能优化的另一方面,即运用数据库服务器内建的工具辅助性能分析和优化。

    ▲ SHOW

    执行下面这个命令可以了解服务器的运行状态:MySQL >show status;

    该命令将显示出一长列状态变量及其对应的值,其中包括:被中止访问的用户数量,被中止的连接数量,尝试连接的次数,并发连接数量最大值,以及其他许多有用的信息。这些信息对于确定系统问题和效率低下的原因是十分有用的。

    SHOW命令除了能够显示出MySQL服务器整体状态信息之外,它还能够显示出有关日志文件、指定数据库、表、索引、进程和许可权限表的宝贵信息。

    标签:MySQL数据库优化攻略发布于:2008-01-08 02:01:35

distinct在mysql中查询多条不重复记录值的解决办法

    使用distinct在MySQL中查询多条不重复记录值的解决办法

    在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。所以我花了很多时间来研究这个问题,网上也查不到解决方案,结果很郁闷了。。。。。。。。。

    标签:MySQLDBA发布于:2008-01-08 02:01:13

优化MySQL数据库性能的几个好方法

    1、选取最适用的字段属性

    MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGIN来定义整型字段。

    另外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。

    对于某些文本字段,例如“省份”或者“性别”,我们可以将它们定义为ENUM类型。因为在MySQL中,ENUM类型被当作数值型数据来处理,而数值型数据被处理起来的速度要比文本类型快得多。这样,我们又可以提高数据库的性能。

    标签:MySQL数据库优化发布于:2008-01-08 01:01:34

在DOS命令行下发送邮件

    由于WINDOWS系统的命令行下没有发送邮件的命令,所以我们需要通过第三方来实现。现在Simonsu推荐febootimail这个功能强大的工具。用法如下:用上面的语句就可以把邮件发送出去了。并且可以带上附件。如果再结合Simonsu之前提到的用批处理备份MYSQL数据库的方法,就可以实现定时把备份好的数据发送到指定邮箱了。如果是恶意使用的话,可就是制造轰炸机了。下面带上febootimail命令行参数指南.chm及febootimail.exe工具。点击下载此文件解压密码是:www.tsov.net用批处理备份MYSQL数据库的方法:https://tsov.net/achieved-usi…
    标签:MySQLdos邮件评论数:6发布于:2007-10-04 09:10:59

在MySQL里利用SQL语句批量替换页内字符

    在MySQL里运行以下SQL语句可以批量替换页内字符SQL语句的格式如下:Update`表名`SET`需要修改的字段名`=replace(`需要修改的字段名`,'被替换的内容','替换的内容')Where`需要修改的字段名`LIKE'%被替换的内容%'比如我要将www.xxxxxxx.net替换成www.tsov.net,需要运行的SQL语句是:UpdatetestSEThostname=replace(hostname,'www.xxxxxxx.net','www.tsov.net')WherehostnameL…
    标签:MySQL发布于:2007-08-23 02:08:08

mysql导入数据库文件最大限制更改解决方法

    下午用phpmyadmin导入mysql数据库时,我的远远大于2M数据库不能导入,mysql数据库最大只能导入2M..phpmyadmin数据库导入出错:Youprobablytriedtouploadtoolargefile.Pleaserefertodocumentationforwaystoworkaroundthislimit.经网上查知,得:遇到导入过大文件时,首先检查php.ini配置文件中的以下三个地方,upload_max_filesize,memory_limit和post_max_size,并且推荐修改的值要稍大于导入的巨大sql数据库文件;依照这个提示,我修改了以上三个在…
    标签:MySQL评论数:4发布于:2007-07-18 02:07:05

通过MyODBC,用ASP操作MYSQL

    MyODBC让你不用WebServer更新MySQL数据库,MyODBC提供了标准的ODBC界面存取,让你直接用VB、VC、BCB、Access等等透过ODBC直接存取数据库,长久以来资料库与Internet的结合,经常受到安全性的考量。但数据库与Internet的结合又是未来整体的趋势,如何能兼顾安全性以及方便性,透过ODBC便可以有良好的解决。用过ASP的人都知道ODBC的重要,只要您的Client端支持ODBC,皆可用VB、VC、BCB、Access等等的软件更新资料库。现在MySQL也有ODBC了,让你直接透过各式各样的应用程序直接存取MySQL数据库,不但方便,也更容易使用。在ODB…
    标签:MySQLASP发布于:2007-01-29 06:01:10