table

MySQL优化

假装没事ソ 提交于 2020-04-05 17:41:05
一、EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。 下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据 type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别 key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式 key_len列,索引长度 rows列,扫描行数。该值是个预估值 extra列,详细说明。注意常见的不太友好的值有:Using filesort, Using temporary 二、SQL语句中IN包含的值不应过多 MySQL对于IN做了相应的优化,即将IN中的常量全部存储在一个数组里面,而且这个数组是排好序的。但是如果数值较多,产生的消耗也是比较大的。再例如:select id from table_name where num in(1,2,3) 对于连续的数值,能用 between 就不要用 in 了;再或者使用连接来替换。 三、SELECT语句务必指明字段名称 SELECT *增加很多不必要的消耗(cpu、io、内存、网络带宽);增加了使用覆盖索引的可能性;当表结构发生改变时,前断也需要更新。所以要求直接在select后面接上字段名。 四、当只需要一条数据的时候,使用limit 1 这是为了使EXPLAIN中type列达到const类型 五

利用Python实现SQL自动化

风格不统一 提交于 2020-04-05 17:37:46
笔者在工作中经常要使用SQL,其不乏存在恼人的细微差异和种种限制,但说到底,它是数据行业的基石。因此,对于每一位数据领域的工作者,SQL都是不可或缺的。精通SQL意义非凡。 SQL是很不错,但怎么能仅满足于“不错”呢?为什么不进一步操作SQL呢? 陈述性语句会诱发SQL限制的发生,就是说,向SQL寻求数据,SQL会在特定数据库找寻并反馈。对于许多数据提取或简单的数据操作任务来说,这已经足够了。 但如果有更多需求怎么办? 本文将为你展示如何操作。 从基础开始 import pyodbc from datetime import datetime classSql: def__init__(self, database, server="XXVIR00012,55000"): # here we are telling python what to connect to (our SQL Server) self.cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};" "Server="+server+";" "Database="+database+";" "Trusted_Connection=yes;") # initialise query attribute self.query ="-- {}\n\n-

MySQL count知多少

旧巷老猫 提交于 2020-04-05 16:51:11
统计一个表的数据量是经常遇到的需求,但是不同的表设计及不同的写法,统计性能差别会有较大的差异,下面就简单通过实验进行测试( 大家测试的时候注意缓存的情况,否则影响测试结果 )。 1、 准备工作 为了后续测试工作的进行,先准备几张用于测试的表及数据,为了使测试数据具有参考意义,建议测试表的数据量大一点,以免查询时间太小,因此,可以继续使用之前常用的连续数生成大法,如下: /* 创建连续数表 */ CREATE TABLE nums(id INT primary key); /* 生成连续数的存储过程,优化过后的 */ DELIMITER $$ CREATE PROCEDURE `sp_createNum`(cnt INT ) BEGIN DECLARE i INT DEFAULT 1; TRUNCATE TABLE nums; INSERT INTO nums SELECT i; WHILE i < cnt DO BEGIN INSERT INTO nums SELECT id + i FROM nums WHERE id + i<=cnt; SET i = i*2; END; END WHILE; END$$ DELIMITER ; 生成数据,本次准备生成1kw条记录 /* 调用存储过程 */ mysql> call sp_createNum(10000000); Query OK

Hive学习笔记八

荒凉一梦 提交于 2020-04-05 16:48:04
目录 企业级调优 一、Fetch抓取 二、本地模式 三、表的优化 1、小表、大表Join 2、大表Join大表 3、MapJoin 4、Group By 5、Count(Distinct) 去重统计 6、笛卡尔积 7、行列过滤 8、动态分区调整 9、分桶 10、分区 四、数据倾斜 1、合理设置Map数 2、小文件进行合并 3、复杂文件增加Map数 4、合理设置Reduce数 五、并行执行 六、严格模式 七、JVM重用 八、推测执行 九、压缩 十、执行计划(Explain) 企业级调优 一、Fetch抓取   Fetch抓取是指, Hive中对某些情况的查询可以不必使用MapReduce计算。 例如:SELECT * FROM employees;在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台。   在hive-default.xml.template文件中hive.fetch.task.conversion默认是more,老版本hive默认是 minimal,该属性修改为more以后,在全局查找、字段查找、limit查找等都不走mapreduce。 <property> <name>hive.fetch.task.conversion</name> <value>more</value> <description>

如何使div不大于其内容?

天大地大妈咪最大 提交于 2020-04-05 16:31:03
问题: I have a layout similar to: 我的布局类似于: <div> <table> </table> </div> I would like for the div to only expand to as wide as my table becomes. 我希望 div 仅扩展到 table 宽度。 解决方案: 参考一: https://stackoom.com/question/1tId/如何使div不大于其内容 参考二: https://oldbug.net/q/1tId/How-can-I-make-a-div-not-larger-than-its-contents 来源: oschina 链接: https://my.oschina.net/stackoom/blog/3213648

玩转 Nginx 之:使用 Lua 扩展 Nginx 功能

北慕城南 提交于 2020-04-04 21:39:28
https://my.oschina.net/leejun2005/blog/494248 https://github.com/iresty/nginx-lua-module-zh-wiki 1、Nginx 简介 Nginx 作为一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。其流行度越来越高,应用也越来越广泛,常见的应用有:网页服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器,高并发大流量站点常用来做接入层的负载均衡,还有非常常见的用法是作为日志采集服务器等。 Nginx 整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。其中模块化设计是nginx的一大卖点,甚至http服务器核心功能也是一个模块。要注意的是:nginx的模块是静态的,添加和删除模块都要对nginx进行重新编译,这一点与Apache的动态模块完全不同。不过后来淘宝做了二次开发开源的 tengine 是支持 官方所有的 HTTP 模块动态加载而不必重新编译 Nginx,除非是第三方模块才需要重新编译。因此,在生产环境中,推荐用淘宝开源的 tengine,本文也以 tengine 作为示例。 虽然 Nginx 有如此强大的性能以及众多的三方模块支持,但每次重新编译以及寻找三方模块对生产环境来说还是不可接受的,幸运的是,Nginx

玩转 Nginx 之:使用 Lua 扩展 Nginx 功能

可紊 提交于 2020-04-04 21:35:35
https://my.oschina.net/leejun2005/blog/494248 https://github.com/iresty/nginx-lua-module-zh-wiki 1、Nginx 简介 Nginx 作为一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。其流行度越来越高,应用也越来越广泛,常见的应用有:网页服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器,高并发大流量站点常用来做接入层的负载均衡,还有非常常见的用法是作为日志采集服务器等。 Nginx 整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。其中模块化设计是nginx的一大卖点,甚至http服务器核心功能也是一个模块。要注意的是:nginx的模块是静态的,添加和删除模块都要对nginx进行重新编译,这一点与Apache的动态模块完全不同。不过后来淘宝做了二次开发开源的 tengine 是支持 官方所有的 HTTP 模块动态加载而不必重新编译 Nginx,除非是第三方模块才需要重新编译。因此,在生产环境中,推荐用淘宝开源的 tengine,本文也以 tengine 作为示例。 虽然 Nginx 有如此强大的性能以及众多的三方模块支持,但每次重新编译以及寻找三方模块对生产环境来说还是不可接受的,幸运的是,Nginx

Linux 策略路由配置

喜你入骨 提交于 2020-04-04 17:26:12
策略路由配置 #编辑rt_tables echo "192 net_192 " >> /etc/iproute2/rt_tables echo "196 net_196 " >> /etc/iproute2/rt_tables #清空net_192路由表 ip route flush table net_192 # 添加一个路由规则到 net_192 表,这条规则是 net_192 这个路由表中数据包默认使用源 IP 172.31.192.201 通过 ens4f0 走网关 172.31.192.254 ip route add default via 172.31.192.254 dev ens4f0 src 172.31.192.201 table net_192 #来自 172.31.192.201 的数据包,使用 net_192 路由表的路由规则 ip rule add from 172.31.192.201 table net_192 #清空net_196路由表 ip route flush table net_196 #添加一个路由规则到 net_196 表,这条规则是 net_196 这个路由表中数据包默认使用源 IP 172.31.196.1 通过 ens9f0 走网关 172.31.196.254 ip route add default via 172.31

表格布局 table

空扰寡人 提交于 2020-04-04 14:30:49
设置整个容器的宽度为100%,设置三个部分均为表格,然后左边的单元格为 300px,右边的单元格为 300px,即可。中间的单元格会自适应。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> html * { padding: 0; margin: 0; } .layout.table div { height: 100px; } /* 重要:设置容器为表格布局,宽度为100% */ .layout.table .left-center-right { width: 100%; display: table; height: 100px; } .layout.table .left-center-right div { display: table-cell; /* 重要:设置三个模块为表格里的单元*/ } .layout.table .left { width: 300px; background: red; } .layout.table .center { background: green; } .layout.table .right { width: 300px; background: blue; } </style> <

mysql 语法汇总

风流意气都作罢 提交于 2020-04-04 07:12:46
查看数据表结构:DESCRIBE 表名   或者   DESC 表名 查看表结构语句 :show create table <表名>  ps: 在命令窗口 修改表数据:    修改表名 :alter table <表名> rename <新表名>    修改字段的数据类型 :alter table <表名> modify <字段名> <数据类型>    修改字段名 :alter table <表名> change <旧字段名> <新字段名> <新数据类型>    添加字段 :alter table <表名> add <新字段名> <新字段类型> [约束条件] [FIRST | AFTER 已存在字段名]  ps: first 添加为表的第一个字段   after添加到指定字段的后面    删除字段 :alter table <表名> drop <字段名>    修改表的字段顺序 :alter table <表名> modify <字段1> <数据类型> first | after <字段2>   删除表: drop table [if exists] 表1 , 表2 , 表3...   删除表的外键约束:alter table <表名> drop foreign key <外键约束名> 查看所有的触发器: SELECT * FROM information_schema.