mysql
石头成说
每天进步一点
展开
-
mysql:Count(*)与Count(1)、Count(2)、Count(‘anything’)及Count(字段)区别
一:Count(*) 、Count(1)、Count(543)或者无论Count(‘anything’)只要在Count中指定非NULL表达式,结果没有任何区别。因此当你指定Count(*) 或者Count(1)、Count(543)或者无论Count(‘anything’)时结果都会一样,因为这些值都不为NULL。mysql5.7.23.0中实测:数据表: ...原创 2018-10-11 14:57:52 · 8015 阅读 · 6 评论 -
关于mysql5.7.23.0中的Group By 语句
说明:我们知道在使用Group By的sql语句中,出现在select语句后面的字段必须包含在Group By语句或者聚合函数里面,否则会报错。但在mysql5.7.23.0中,这种情况不会报错,sql语句会执行,但是结果集中只会显示分组后的第一行数据,其他数据不显示。例子:数据表student查询1:select sid,sname,sage from student s g...原创 2018-10-11 15:07:17 · 203 阅读 · 0 评论 -
Sql语句中的limit 1能有效缩短查询时间
使用场景:在根据非索引字段查询时,若查询结果只有一条记录,可以在sql语句中使用 " limit 1",来有效缩短查询时间。缩短查询时间的原因:加入Limit后,查询结果能够被一级缓存保存!从底层分析的话,加入Limit 1后,匹配到一条数据后,就不会再往下查询了,所以,性能的提升和数据量的大小有很大关系。实验: 创建表t-user;create table t_user( ...原创 2018-10-27 10:38:29 · 8044 阅读 · 2 评论 -
在MySQL-5.7.23下验证一些sql优化建议的正确性
从网上看到一些sql查询优化的一些建议,由于使用的数据库版本不同等原因,一些建议可能描述不准确。毕竟网上的一些内容还是需要自己去验证一下的。因此作者对常见的一些sql优化建议进行了验证。验证表:其中id字段是主键,在mysql中默认创建主键索引。 会根据具体验证情况,在其他字段上创建索引。 1、应尽量避免在 where 子句中使用!=、<>、in、not in...原创 2019-01-15 09:36:14 · 395 阅读 · 0 评论 -
根据《高性能MySQL》整理一些数据库优化建议
根据《高性能MySQL》一书,整理一些数据库优化建议。1.为字段选择合适的数据类型概括来说,尽可能保持任何东西小而简单总是好的。MySQL喜欢简单,需要使用数据库的人应该也同样会喜欢简单的原则.尽量避免过度设计,例如会导致极其复杂查询的schema设计,或者有很多列的表设计(很多的意思是介于有点多和非常多之间). 使用小而简单的合适数据类型,除非真实数据模型中有确切的需要,否则应该...原创 2019-01-16 13:22:49 · 574 阅读 · 0 评论 -
SpringBoot2.0.4+Jpa+ShardingSphere3.0.0.M2进行数据库分表
ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。分表执行的5个步骤:1.Sql解析分表的表达式:o...原创 2019-03-08 14:12:39 · 3245 阅读 · 0 评论 -
win10写Python脚本删除数据库数据
1.安装python地址:python安装2.安装PyMySQL在dos下进入python的Scripts目录:执行:pip install PyMySQL3.编写py文件我的内容如下:#!/usr/bin/env python3# -*- coding: utf-8 -*-import pymysqldb=pymysql.connect("rm-uf6i...原创 2019-03-12 15:00:15 · 508 阅读 · 0 评论