Welcome 微信登录

首页 / 数据库 / MySQL

MySQL对limit查询语句的优化方法

MySQL对limit查询语句的优化方法

当我们的网站达到一定的规模时,网站的各种优化是必须要进行的。而网站的优化中,针对数据库各种优化是最重点的了。下面作者将要和大家分享一下MySQL数据库中的查询语句有关limit语句的优化。大家都知道一般limit是用在分页的程序的分页上的,当你的应用数据量够小的时候,也许你感觉不到limit语句的任何问题,但当查询数据量达到一定程度的时候,limit的性能就会急剧下降。这个是通过大量实例得出来的结论。下面通过具体的案例来说明,这里是对同一张表在不同的地方取...
mysql优化limit查询语句的5个方法

mysql优化limit查询语句的5个方法

mysql的分页比较简单,只需要limit offset,length就可以获取数据了,但是当offset和length比较大的时候,mysql明显性能下降1.子查询优化法先找出第一条数据,然后大于等于这条数据的id就是要获取的数据 缺点:数据必须是连续的,可以说不能有where条件,where条件会筛选数据,导致数据失去连续性,具体方法请看下面的查询实例:复制代码 代码如下:mysql> set profiling=1;Query OK, 0 ro...
数据库中的SELECT语句逻辑执行顺序分析

数据库中的SELECT语句逻辑执行顺序分析

引言 这不是一个什么多深的技术问题,多么牛叉的编程能力。这跟一个人的开发能力也没有非常必然的直接关系,但是知道这些会对你的SQL编写,排忧及优化上会有很大的帮助。它不是一个复杂的知识点,但是一个非常基础的SQL根基。不了解这些,你一直用普通水泥盖房子;掌握这些,你是在用高等水泥盖房子。 然而,就是这么一个小小的知识点,大家可以去调查一下周围的同事朋友,没准你会得到一个“惊喜”。 由于这篇文章是突然有感而写,下面随手编写的SQL语句没有经过测试。 看...
将 Ghost 从 SQLite3 数据库迁移到 MySQL 数据库

将 Ghost 从 SQLite3 数据库迁移到 MySQL 数据库

下面我们就来说说如何从 SQLite 迁移到 MySQL 。准备首先你要已经安装好 MySQL 数据库。如果你用的是 Ubuntu 系统,请参考这篇文章。其他系统请参考各自对应的文档。导出当前数据进入 http://your-domain.com/ghost/debug 页面:点击蓝色的 EXPORT 按钮将当前数据库中的所有数据导出并下载到本地,默认文件名是 GhostData.json 。切换数据库配置编辑 config.js 文件,在 product...
MySQL 删除数据库中重复数据方法小结

MySQL 删除数据库中重复数据方法小结

刚开始,根据我的想法,这个很简单嘛,上sql语句delete from zqzrdp where tel in (select min(dpxx_id) from zqzrdp group by tel having count(tel)>1);执行,报错!!~!~异常意为:你不能指定目标表的更新在FROM子句。傻了,MySQL 这样写,不行,让人郁闷。难倒只能分步操作,蛋疼以下是网友写的,同样是坑爹的代码,我机器上运行不了。1. 查询需要删除的记录...
MySQL复制表结构和内容到另一张表中的SQL语句

MySQL复制表结构和内容到另一张表中的SQL语句

1.复制表结构及数据到新表复制代码 代码如下:CREATE TABLE 新表SELECT * FROM 旧表 2.只复制表结构到新表复制代码 代码如下:CREATE TABLE 新表SELECT * FROM 旧表 WHERE 1=2即:让WHERE条件不成立.方法二:(低版本的mysql不支持,mysql4.0.25 不支持,mysql5已经支持了)复制代码 代码如下:CREATE TABLE 新表LIKE 旧表 3.复制旧表的数据到新表(假设两个表结构...
通过命令行导入到mysql数据库时出现乱码的解决方法

通过命令行导入到mysql数据库时出现乱码的解决方法

解决方案:打开sql文件,在SQL文件第一行加入如下内容/*!40101 SET NAMES utf8 */;将SQL文件另存为UTF-8 NO BOM格式通过ftp上传sql文件,放在根目录下就可以了进入你的cPanel, 看到cron jobs 这个图标,点击进去,然后选Advanced (Unix Style)因为只需要运行一次,所以Minute, Hour, Day, Month 都填入准备运行的具体时间,留两分钟余量就行(如果虚拟主机不在本地,可...
Windows下安装MySQL5.5.19图文教程

Windows下安装MySQL5.5.19图文教程

本文详细介绍了Windows下安装MySQL5.5.19的全过程,希望对初学者有帮助。 下载mysql-5.5.19-win32.msi安装文件,双击运行,出现如下界面。 mysql安装向导启动,按“Next”继续 在 I accept the terms in the License Agreement(我接受许可协议中的条款)前面打上勾。按“Next”继续。 选择安装类型,有“Typical(默认)”、“Custom(自定义)”、“Comp...
MySQL修改数据表存储引擎的3种方法介绍

MySQL修改数据表存储引擎的3种方法介绍

MySQL作为最常用的数据库,经常遇到各种各样的问题。今天要说的就是表存储引擎的修改。有三种方式,列表如下。1.真接修改。在数据多的时候比较慢,而且在修改时会影响读取性能。my_table是操作的表,innoDB是新的存储引擎。复制代码 代码如下:ALTER TABLE my_table ENGINE=InnoDB2.导出,导入。这个比较容易操作,直接把导出来的sql文件给改了,然后再导回去。用mysqldump ,枫哥常用的是navicate那样更容易上...
关于MySQL索引的几点值得注意的事项

关于MySQL索引的几点值得注意的事项

在数据库中,对性能影响最大的包括数据库的锁策略、缓存策略、索引策略、存储策略、执行计划优化策略。索引策略决定数据库快速定位数据的效率,存储策略决定数据持久化的效率。1.索引不存储null值。更准确的说,单列索引不存储null值,复合索引不存储全为null的值。索引不能存储Null,所以对这列采用is null条件时,因为索引上根本没Null值,不能利用到索引,只能全表扫描。为什么索引列不能存Null值?将索引列值进行建树,其中必然涉及到诸多的比较操作。Nu...
MySQL优化GROUP BY方案

MySQL优化GROUP BY方案

执行GROUP BY子句的最一般的方法:先扫描整个表,然后创建一个新的临时表,表中每个组的所有行应为连续的,最后使用该临时表来找到组并应用聚集函数(如果有聚集函数)。在某些情况中,MySQL通过访问索引就可以得到结果,而不用创建临时表。此类查询的 EXPLAIN 输出显示 Extra列的值为 Using index for group-by。一。 松散索引扫描1.满足条件 查询针对一个表。GROUP BY 使用索引的最左前缀。只可以使用MIN()和MAX(...
MySQL循环语句之while循环测试

MySQL循环语句之while循环测试

mysql 操作同样有循环语句操作,网上说有3中标准的循环方式: while 循环 、 loop 循环和repeat循环。还有一种非标准的循环: goto。 鉴于goto 语句的跳跃性会造成使用的的思维混乱,所以不建议使用。这几个循环语句的格式如下:WHILE……DO……END WHILEREPEAT……UNTIL END REPEATLOOP……END LOOPGOTO。目前我只测试了 while 循环:delimiter $$ // 定义结束符为...
mysql 数据类型TIMESTAMP

mysql 数据类型TIMESTAMP

在mysql中timestamp数据类型是一个比较特殊的数据类型,他可以自动在你不使用程序更新情况下只要你更新了记录timestamp会自动更新时间通常表中会有一个Create date 创建日期的字段,其它数据库均有默认值的选项。MySQL也有默认值timestamp,但在MySQL中,不仅是插入就算是修改也会更新timestamp的值!这样一来,就不是创建日期了,当作更新日期来使用比较好!因此在MySQL中要记录创建日期还得使用datetime 然后使...
mysqld_safe启动脚本源码阅读、分析

mysqld_safe启动脚本源码阅读、分析

前几天读了下mysqld_safe脚本,个人感觉还是收获蛮大的,其中细致的交代了MySQL数据库的启动流程,包括查找MySQL相关目录,解析配置文件以及最后如何调用mysqld程序来启动实例等,有着不错的参考价值;与此同时,脚本中涉及了很多shell编程中的小技巧,像变量解析,sed替换转义,进程优先级的判断以及无处不在test结构等等,当作Linux shell的学习素材还是非常合适的,下面是我的环境:数据库版本: MySQL 5.1.45操作系统版本:...
<< 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 >>