Mysql
最是那一低头的温柔
这个作者很懒,什么都没留下…
展开
-
MySQL datetime、date、time、之间的转化与比较
https://blog.csdn.net/qq_31975227/article/details/89509078SELECT NOW(),CURDATE(),CURTIME(), -- datetime 转 date time NOW(), DATE(NOW()), TIME (NOW()), CONCAT(DATE(NOW()), ' ', TIME (NOW())), -- str 转 datetime date time str_to_date('2019-04-25 .原创 2020-12-07 11:41:46 · 1062 阅读 · 0 评论 -
MySQL百万级数据分页查询及优化
方法1: 直接使用数据库提供的SQL语句 语句样式:MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景:适用于数据量较少的情况(元组百/千级) 原因/缺点:全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limit限制的是从结果集的M位置处取出N条输出,其余抛弃. 方法2:建立主键或唯一索引, 利用索引(假设每页10条) 语句样式:MySQL中,可用如下方...转载 2020-06-08 13:47:08 · 466 阅读 · 0 评论 -
MySQL分组查询每组最新的一条数据(通俗易懂)
开发中经常会遇到,分组查询最新数据的问题,比如下面这张表(查询每个地址最新的一条记录):sql如下:-- ------------------------------ Table structure for test-- ----------------------------DROP TABLE IF EXISTS `test`;CREATE TABLE `test` ...转载 2020-01-13 10:47:11 · 740 阅读 · 0 评论 -
postgresql将字段为空的值替换为指定值
null 表示缺失的值, '' " "表示空值 null 参与的表达式运算都返回null 使用is null 判断是null is not null 判断非null nullif(value1, value2) 如果value1 == value2 返回null coalesce(arg1, arg2, ...) 返回第一个 不为null的值所以可以使用如下语句,实现将table中fi...转载 2018-10-17 17:40:42 · 12090 阅读 · 0 评论 -
jdbc连接mysq之serverTimezone设定
Mybatis技术学习,更多知识请访问https://www.itkc8.commysql返回的时间总是有问题,比实际时间要早8小时。检查是jdbc连接的url中配置的时区有问题,原先是jdbc:mysql://172.xx.xx.xx:3306/test?useUnicode=true&characterEncoding=gbk&useSSL=true&useJD...转载 2018-11-01 13:44:30 · 26550 阅读 · 0 评论 -
使用子查询可提升 COUNT DISTINCT 速度 50 倍
数据库技术学习 https://www.itkc8.com 注:这些技术是通用的,只不过我们选择使用Postgres的语法。使用独特的pgAdminIII生成解释图形。 很有用,但太慢 Count distinct是SQL分析时的祸根,因此它是我第一篇博客的不二选择。 首先:如果你有一个大的且能够容忍不精确的数据集,那像HyperLogLog这样的概率计数器...转载 2018-11-16 11:23:07 · 508 阅读 · 0 评论 -
mySQL数据库Sql语句执行效率检查--Explain命令
更多mysql资料请访问 www.itkc8.comExplain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。Explain语法:explain select … from … [where ...]例如:explain selec...转载 2019-03-05 18:25:05 · 150 阅读 · 0 评论 -
MySql 删除表中重复的数据(但要保留一条)
更多MYSQL知识访问www.itkc8.com今天遇到一个问题。相同的数据在同一张表里出现了多次。我的需求是删除多余的数据,但要保留其中一条。定义 表名 table_a ,判断唯一的两个字段 c_1,c_2,无关字段data表中原始数据如下首先我们要查看数据库中那些数据重复了,执行如下SQLSELECT * FROM(SELECT COUNT(*) as num,c_1,c_...转载 2019-07-05 17:38:56 · 371 阅读 · 0 评论 -
SQL中遇到多条相同内容只取一条的最简单实现
sql语句更多知识请访问 www.itkc8.comSQL中经常遇到如下情况,在一张表中有两条记录基本完全一样,某个或某几个字段有些许差别,这时候可能需要我们踢出这些有差别的数据,即两条或多条记录中只保留一项。如下:表timeand针对time字段相同时有不同total和name的情形,每当遇到相同的则只取其中一条数据,最简单的实现方法有两种每当遇到相同的则只取其中一条...转载 2019-08-27 17:15:12 · 1677 阅读 · 0 评论 -
浅谈sql中的in与not in,exists与not exists的区别以及性能分析
1、in和existsin是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in;例如:表A(小表),表B(大表)select * from A w...转载 2018-10-13 10:08:05 · 407 阅读 · 0 评论 -
优化mysql实验(explain;索引)+利用 index、explain和profile优化mysql数据库查询小结
1.优化实验实验环境:1、sql工具:Navicat2、sql数据库,使用openstack数据库作为示例 一、mysql索引查询show index from instances 结果字段解释:vcmRlcj0="1" cellpadding="2" cellspacing="0">Table:数据库表名Non_unique:索引不能包括重复词,则为0。可以,则为...转载 2018-10-12 15:43:19 · 454 阅读 · 0 评论 -
mycat
https://www.csdn.net/article/2015-07-16/2825228转载 2017-12-22 16:21:26 · 227 阅读 · 0 评论 -
CentOS7安装MySQL
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。1 下载并安装MySQL官方的 Yum Repository[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noar...转载 2018-06-23 15:54:11 · 183 阅读 · 0 评论 -
MYSQL查询~ 存在一个表而不在另一个表中的数据
A、B两表,找出ID字段中,存在A表,但是不存在B表的数据。A表总共13w数据,去重后大约3W条数据,B表有2W条数据,且B表的ID字段有索引。方法一 使用 not in ,容易理解,效率低 ~执行时间为:1.395秒~1 select distinct A.ID from A where A.ID not in (select ID from B)方法二 使用 le...转载 2018-10-11 12:23:25 · 650 阅读 · 0 评论 -
Mysql 语句执行顺序
https://blog.csdn.net/jintao_ma/article/details/512533561.这样一个问题,作为一个开发人员需要掌握数据库的哪些东西? 在开发中涉及到数据库,基本上只用到了sql语句,如何写sql以及对其进行优化就比较重要,那些mysql的厚本书籍针对的是DBA,我们只需要学习其中的sql就可以了。2.既然会写sql是目标,那么怎么才能写好sql.学...转载 2018-10-11 12:50:25 · 192 阅读 · 0 评论 -
PostreSQL取出每组第一条(最高)记录(6种方法 )
https://blog.csdn.net/dufemt/article/details/80793275转载 2018-10-11 17:20:19 · 1027 阅读 · 0 评论 -
Mysql中 in or exists not exists not in区别 (网络整理)
in 和or区别:https://www.cnblogs.com/rainwang/p/4389282.html如果in和or所在列有索引或者主键的话,or和in没啥差别,执行计划和执行时间都几乎一样。如果in和or所在列没有 索引的话,性能差别就很大了。在没有索引的情况下,随着in或者or后面的数据量越多,in的效率不会有太大的下降,但是or会随着记录越多的话性能下降 非常厉害 因此在给...转载 2018-10-12 10:28:34 · 170 阅读 · 0 评论 -
MySQL高级 之 explain执行计划详解
使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。explain执行计划包含的信息其中最重要的字段为:id、type、key、rows、Extra各字段详解idselect查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序 三种情况: 1、id相同:执行顺序由上至...转载 2018-10-12 15:17:29 · 143 阅读 · 0 评论 -
mysql只explain 是一种美德(sql性能优化)
写在前面的话: 不要求每个人一定理解 联表查询(join/left join/inner join等)时的mysql运算过程; 不要求每个人一定知道线上(现在或未来)哪张表数据量大,哪张表数据量小; 但把mysql客户端(如SQLyog,如HeidiSQL)放在桌面上,时不时拿出来 explain 一把,这是一种美德!在实例讲解之前,我们先回顾一下联表查询的基础知识。...转载 2018-10-12 15:28:39 · 142 阅读 · 0 评论 -
Linux下安装mysql
非常感谢 http://www.cnblogs.com/fnlingnzb-learner/p/5830622.html到mysql官网下载mysql编译好的二进制安装包,在下载页面Select Platform:选项选择linux-generic,然后把页面拉到底部,64位系统下载Linux - Generic (glibc 2.5) (x86, 64-bit),3转载 2017-05-06 21:26:25 · 474 阅读 · 0 评论