现在位置: 首页 > 数据库 > 文章
2020年05月02日 数据库 ⁄ 共 577字 评论关闭
 顺便提下mysql的DISTINCT的关键字有很多你想不到的用处   1.在count 不重复的记录的时候能用到   比如SELECT COUNT( DISTINCT id ) FROM tablename;   就是计算talbebname表中id不同的记录有多少条   2,在需要返回记录不同的id的具体值的时候可以用   比如SELECT DISTINCT id FROM tablename;   返回talbebname表中不同的id的具体的值   3.上面的情况2对于需要返回mysql表中2列以上的结果时会有歧...
阅读全文
2020年05月02日 数据库 ⁄ 共 2430字 评论关闭
mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出代码实现中耗费资源的sql语句,对我们程序的优化有很高的参考。本篇主要将慢查询日志的开启,日志分析,这也是优化SQL程序的一般步骤中至关重要的一步。   1.mysql慢查询日志   打开mysql的慢查询日志很简单,只需要在mysql的配置文件里(windows系统是my.ini,linux系统是my.cnf)的[mysqld]下面加上   Java代码   log-slow-queries=mysql_slow.log ...
阅读全文
2020年05月02日 数据库 ⁄ 共 322字 评论关闭
SET @countries=(SELECT GROUP_CONCAT(DISTINCT countrys) FROM gui_web_region_info);   INSERT INTO gui_web_action_info SELECT '2013-04-16', package_name, country,   'gui_i000', using_count FROM gui_web_total_using_info, (SELECT DISTINCT   country FROM gui_web_action_info WHERE INSTR(@countries, country)>0 AND LENGTH(country)=2) b;
阅读全文
2020年05月02日 数据库 ⁄ 共 711字 评论关闭
 #!/bin/sh   INTERVAL=5   PREFIX=$INTERVAL-sec-status   RUNFILE=/home/benchmarks/running   mysql -e 'SHOW GLOBAL VARIABLES' >> mysql-variables   while test -e $RUNFILE; do   file=$(date +%F_%I)   sleep=$(date +%s.%N | awk "{print $INTERVAL - (\$1 % $INTERVAL)}")   sleep $sleep   ts="$(date + "TS %s.%N %F %T")"   load...
阅读全文
2020年05月02日 数据库 ⁄ 共 1432字 评论关闭
在大中型项目中,在数据库设计的时候,考虑到数据库最大承受数据量,通常会把数据库或者数据表水平切分,以降低单个库,单个表的压力。我这里介绍两个我们项目中常用的数据表切分方法。当然这些方法都是在程序中使用一定的技巧来路由到具体的表的。首先我们要确认根据什么来水平切分?在我们的系统(SNS)中,用户的UID贯穿系统,唯一自增长,根据这个字段分表,再好不过。   方法一:使用MD5哈希   做法是对UI...
阅读全文
2020年05月02日 数据库 ⁄ 共 600字 评论关闭
一般来说,我们在mysql数据库纪录数据时间时,都会选择datatime类型,这样时间可以精确 到秒。但随之而来的一个问题是,当我们要取得某一段时间内的数据内容会有一些时间转换上的麻烦,例如我们要取得2002年3月2日到2003年7月8日的 这段时间的内容,我们第一个直觉就是应该将sql写成下面的形式:   select * from yourdb where sj>='2002-3-2' and sj<= '2003-7-8'   这样以来,我们...
阅读全文
2020年05月02日 数据库 ⁄ 共 980字 评论关闭
从SQL文件导入数据库经常会用到,可能是从mysqldump 的脚本恢复数据库,也可能是数据库迁移。往往这样的SQL文件里包含很多条语句,如果中途某条语句出错将会导致整个导入任务终止。遇到这种情况应该怎样处理呢?   先准备一个演示用的SQL脚本 demo.sql   [sql]   SET NAMES UTF8;   CREATE TABLE cc (   `account_id` mediumint(9) NOT NULL AUTO_INCREMENT,   PRIMARY KEY (`account_id`)   )ENGINE...
阅读全文
2020年05月02日 数据库 ⁄ 共 793字 评论关闭
select * from student where '2012-02-27 00:00:00' < created_date and '2012-02-29 00:00:00' > created_date   select * from student where UNIX_TIMESTAMP('2012-02-27 00:00:00') < UNIX_TIMESTAMP(created_date) and UNIX_TIMESTAMP('2012-02-29 00:00:00') > UNIX_TIMESTAMP(created_date);   SELECT * FROM student WHERE (UNIX_TIMESTAMP(crea...
阅读全文
2020年05月02日 数据库 ⁄ 共 1354字 评论关闭
 首先看表结构,引擎innodb   +----+----------+------+   | id | name     | seat |   +----+----------+------+   |  1 | 管理员        |   98 |   |  2 | 维护人员       |   98 |   |  3 | 主任         |   97 |...
阅读全文
2020年05月02日 数据库 ⁄ 共 1155字 评论关闭
在mysql中进行分页查询时,一般会使用limit查询,而且通常查询中都会使用orderby排 序。但是在表数据量比较大的时候,例如查询语句片段limit 10000, 20,数据库会读取10020条数据,然后把前10000条丢弃,把最后的20条返回给你,这种消耗是可以避免的,也是没必要的。下边介绍几种优化方法:   优化方法1(让分页操作在索引中进行):   一般表中经常作为条件查询的列都会建立索引,例如如下查询   Sql代码 ...
阅读全文