MySQL 中 EXPLAIN 结果的参数详解
MySQL中EXPLAIN结果的参数详解 explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 EXPLAIN 列的解释: select_type SIMPLE:简单的 SELECT,不使用 UNION 或者子查询。 PRIMARY:最外层 SELECT。 UNION:第二层,在 SELECT 之后使用了 UNION。 DEPENDENT UNION:UNION 语句中的第二个 SELECT,依赖于外部子查询。 UNION RESULT:UNION 的结果。 SUBQUERY:子查询中的第一个 SELECT。 DEPENDENT SUBQUERY:子查询中的第一个 SELECT,取决于外面的查询。 DERIVED:导出表的 SELECT(FROM 子句的子查询) table显示这一行的数据是关于哪张表的。 type这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型:const、eq_ref、ref、range、index 和 ALL。 Type:告诉我们对表使用的访问方式,主要包含如下几种类型: ...
MySQL 导入导出
导入导出csv文件 常用参数 12345常用参数(导入和导出的常用参数一致):FIELDS TERMINATED BY ',':指定字段分隔符OPTIONALLY ENCLOSED BY '"':认为双引号中的是一个独立的字段。Excel 转 CSV 时,有特殊字符(逗号、顿号等)的字段,会自动用双引号引起来LINES TERMINATED BY '\n':指定行分隔符,默认'\n'。注意,在 Windows 平台上创建的文件,分隔符是 '\r\n' 先检查是否开启允许导入 1show variables like '%secure%'; 导入12345678LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE db2.my_table;LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE db2.my_table FIELDS TER...
SQL Server 常用操作记录
常用函数记录DateAdd在日期中添加或减去指定的时间间隔: 1DATEADD(day/month.., number, date) getdate()获取系统当前时间。 STUFF 结合 FOR XML PATH 拼接字符串如果不是 varchar 类型,先转换:CAST(xx AS VARCHAR)。 12345678SELECT id, [text] = '[' + STUFF((SELECT ',{"bizDate":"' + CAST(business_date AS VARCHAR) + '","pkgCode":"' + [package_code] + '","guestType":"' + [guest_type] + '","count":' + CAST(COUNT AS VARCHAR) +...
记录工作中遇到慢 SQL 的情况和解决办法(长期)
left join查询加where条件, 用到了索引, 但是仍然几乎全表扫, explain-type为index, 用到的索引为联合索引,但where条件字段不符合最左原则(例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找), 所以最后解决办法是建立了条件字段的索引 单表同时查询多个字段和聚合函数的时候, 建立一个聚合索引(包含聚合函数字段)可能比单个字段索引效率要高(单个字段会回表)
MySQL 5.7 安装
MySQL5.7docker安装mysql docker pull mysql:5.7 123456docker run -p 3306:3306 --name mysql \-v /mydata/mysql/log:/var/log/mysql \-v /mydata/mysql/data:/var/lib/mysal \-v /mydata/mysql/conf:/etc/mysql \-e MYSQL_ROOT_PASSWORD=root \-d mysql:5.7 vi /mydata/mysql/conf/my.cnf 1234567891011[client]default-character-set=utf8[mysql] default-character-set=utf8[mysqld]init_connect='SET collation_connection=utf8_unicode_ci'init_connect='SET NAMES utf8'characte...
MySQL 命令行各个参数解释
http://blog.51yip.com/mysql/1056.html mysql命令行各个参数解释123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081Usage: mysql [OPTIONS] [database] //命令方式 -?, --help //显示帮助信息并退出 -I, --help //显示帮助信息并退出 --auto-rehash //自动补全功能,就像linux里面,按Tab键出提示差不多,下面有例子 -A, --no-auto-rehash //默认状态是没有自动补全功能的。-A就是不要自动补全功能 -B, --batch //ysql不使用历史文件,禁用交互 (Enables --silent) --c...
PostgreSQL 的安装
安装postgresqldocker 安装 postgresql10 拉取官方的镜像 docker pull postgres:10 创建并运行postgres docker run –name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres:10 启动数据库 docker start postgres 访问数据库 psql -h localhost -p 5432 -U postgres PostgreSQL 11 / 10 on CentOS 7PostgreSQL 11 install 1234### PostgreSQL 11 ###yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm### PostgreSQL 10 ###yum install -y https://...
PostgreSQL 备份及还原
PostgreSQL还原.bak文件 win+R输入cmd cd C:\PostgreSQL\10\bin 还原之前首先在postgresql中新建数据库,作为目标数据库 在postgresql对目标数据库执行create extension postgis;语句,确保空间数据加载正常,同时生成表spatial_ref_sys psql -h localhost -U postgres -p 5432 -d DBtest -f “E:\DBtest .bak”(备份:pg_dump -h localhost -U postgres DBtest > “E:\DBtest .bak” ) 用户 postgres 的口令:输入密码回车 EXPLAIN ( ANALYZE, buffers )–查询执行时间等(执行计划) 备份数据库中表及数据pg_dump -h 127.0.0.1 -U admin -Fc -v postgres > /usr/local/pgsql/db_backup/2012-10-15&...
