最新消息:

sql

漫画赏析:Linux 版 SQL Server

漫画赏析:Linux 版 SQL Server

admin 7年前 (2017-05-17) 2479浏览 0评论

在 Linux 内核之中,大家正在静静的等待进程的创建。每个创建的进程会被分配一个进程 ID (PID)。 在那个 Apache 进程高高兴兴的走出去之后,下一位却被要求创建 Linux 版的 SQL Server,这简直让人气的跳起来! 这个愤怒的...

Mysql处理海量数据时的一些优化查询速度方法

Mysql处理海量数据时的一些优化查询速度方法

admin 9年前 (2015-07-19) 3265浏览 0评论

最近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法。 由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾...

Mysql注入点在limit关键字后面的利用方法

Mysql注入点在limit关键字后面的利用方法

admin 9年前 (2015-01-28) 3091浏览 0评论

在一次测试中,我碰到了一个sql注入的问题,在网上没有搜到解决办法,当时的注入点是在limit关键字后面,数据库是MySQL5.x,SQL语句类似下面这样: SELECT field FROM table WHERE id > 0 ORDER ...

mysql 两个表名对调

mysql 两个表名对调

admin 10年前 (2014-11-14) 2599浏览 0评论

问题 有位同学问我,在类似pt-osc场景下,需要将两个表名对调,怎么才能确保万无一失呢? 分析 估计其他同学就笑了,表名对掉还不简单吗,相互RENAME一下嘛。 但是,我们想要的是同时完成表名对调,如果是先后的对掉,可能会导致有些数据写入失败,那怎...

[MySQL优化案例]系列 — 分页优化

[MySQL优化案例]系列 — 分页优化

admin 10年前 (2014-07-29) 3261浏览 0评论

通常,我们会采用ORDER BY LIMIT start, offset 的方式来进行分页查询。例如下面这个SQL: SELECT * FROM `t1` WHERE ftype=1 ORDER BY id DESC LIMIT 100, 10; 或...

MySQL中like语句及相关优化器tips

MySQL中like语句及相关优化器tips

admin 10年前 (2014-07-24) 2971浏览 0评论

背景 MySQL中在对某个字段做包含匹配时可以用like。 先看这个结构和结果 CREATE TABLE `tb` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` bigint(20) DEFAUL...

ELFHash SQL实现

ELFHash SQL实现

admin 10年前 (2014-07-19) 2614浏览 0评论

当前项目中用到了elfhash函数算出HASH值后再进行分表, 当需要在MYSQL里进行查询时比较麻烦,需要先算出HASH值才能确定用户数据被分到哪个表里, 于是把这个函数用SQL写成函数,方便使用。 CREATE DEFINER=`test`@`1...

优化临时表使用,SQL语句性能提升100倍

优化临时表使用,SQL语句性能提升100倍

admin 10年前 (2014-06-03) 2963浏览 0评论

【问题现象】 线上mysql数据库爆出一个慢查询,DBA观察发现,查询时服务器IO飙升,IO占用率达到100%, 执行时间长达7s左右。 SQL语句如下: SELECT DISTINCT g.*, cp.name AS cp_name, c.name...

记录一次truncate操作数据恢复

记录一次truncate操作数据恢复

admin 10年前 (2014-04-28) 2852浏览 0评论

实际线上的场景比较复杂,当时涉及了truncate, delete 两个操作,经确认丢数据差不多7万多行,等停下来时,差不多又有共计1万多行数据写入。 这里为了简单说明,只拿弄一个简单的业务场景举例。 测试环境: Percona-Server-5.6...

MySQL中GROUP_CONCAT中排序

MySQL中GROUP_CONCAT中排序

admin 10年前 (2014-04-18) 12227浏览 1评论

原来GROUP_CONCAT中,是支持GROUP内排序的,自己好土。。 SELECT student_name, GROUP_CONCAT(DISTINCT test_score ORDER BY test_score DESC SEPARATOR ...

SQL执行计划解析(2)- 基本查询的图形执行计划(上)

SQL执行计划解析(2)- 基本查询的图形执行计划(上)

admin 10年前 (2014-02-21) 2719浏览 0评论

某种程度上,学习阅读图形执行计划和学习一门新语言很类似。不同之处是这门语言是基于图标的,而且单词(图标)非常少。每个图标代表了一个操作符,本章里,“图标”和“操作符”可以互换地使用。 前边一章我们遇到了两个操作符(select和table scan)...

SQL执行计划解析(1)- 执行计划基础(上)

SQL执行计划解析(1)- 执行计划基础(上)

admin 10年前 (2014-02-21) 3445浏览 0评论

执行计划,简单的说就是查询优化器计算的结果,表示执行被提交查询的效率最高的方式。执行计划告诉你查询是如何被执行的,因此它是DBA诊断低性能查询的基础手段。 1.查询提交后发生了什么 当查询被提交到Sql Server DataBase之后,很多过程就...

性能测试中sql索引引起的性能问题

性能测试中sql索引引起的性能问题

admin 10年前 (2014-02-08) 2636浏览 0评论

在性能测试中遇到性能瓶颈最的多地方就是数据库这块,而数据库出问题很多都是索引使用不当导致,根据以往遇到的索引问题做个简单的总结: 本次测试环境为xen的虚拟机配置如下: 操作系统 CentOS release 5.4 Cpu E5645  @ 2.4...

如何记录MySQL执行过的SQL语句

如何记录MySQL执行过的SQL语句

admin 11年前 (2013-06-09) 2424浏览 0评论

很多时候,我们需要知道 MySQL 执行过哪些 SQL 语句,比如 MySQL 被注入后,需要知道造成什么伤害等等。只要有 SQL 语句的记录,就能知道情况并作出对策。服务器是可以开启 MySQL 的 SQL 语句记录功能,从而就能间接地检测到客户端...

MySQL 分页查询优化 LIMIT与COUNT优化

MySQL 分页查询优化 LIMIT与COUNT优化

admin 11年前 (2013-05-27) 4680浏览 0评论

老方法 传统分页查询,一般通过COUNT()函数事先获知总记录数据$amount select count(*) as amout from tbl_name where uid = 1 然后可以通过ceil($amount / $page_size...