摘要: 通过openpyxl模块 循环遍历excel文件中所有sheet表格。 excel文件 e:\\t.xlsx ,有2个sheet: sales store 操作步骤: (1)用load_workbook函数打开excel文件,返回一个工作簿对象 (2)用工作簿对象获取所有的sheet (3)第一个f 阅读全文
posted @ 2016-12-11 12:54 小木瓜瓜瓜 阅读(10447) 评论(0) 推荐(0) 编辑
摘要: 准备一个excel文件,这里是:e\t.xlsx,放文件里随便写几条数据。 注意:扩展名必须是xlsx(excel 2007及以上版本的),因为openpyxl模块只能处理xlsx文件。 一、安装openpyxl模块 二、基本用法 阅读全文
posted @ 2016-12-10 19:20 小木瓜瓜瓜 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 要优化,就得看懂执行计划,要看懂执行计划,首先要能显示多种格式的执行计划,而不仅仅是看图形的执行计划,因为文本的执行计划更细,能看出更多的问题。 1、设置显示简单格式的执行计划,不执行sql语句 结果: |--Nested Loops(Left Outer Join, WHERE:(@t.[t1] 阅读全文
posted @ 2016-12-10 14:36 小木瓜瓜瓜 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 今天收到一个需求,要改写一个报表的逻辑,当改完之后,再次运行,发现运行超时。 因为特殊原因,无法访问客户的服务器,没办法查看sql的执行计划、没办法知道表中的索引情况,所以,尝试从语句的改写上来优化。 一、原始语句如下: 原来是left join,虽然查询比较慢,但是2分钟能查出来,现在按照业务要求 阅读全文
posted @ 2016-12-09 18:18 小木瓜瓜瓜 阅读(1397) 评论(0) 推荐(0) 编辑
摘要: 今天客服反馈 客户在前两天查询一个移动端报表时报错了。 我看了一下报错信息,大致是timeout,这种错误基本可以确定是由于查询时间超过阀值(一般为3秒)。 sql代码如下: 运行时间:大概是6秒。 表信息:tb_dr大概是500w条,tb_dr_item大概是2800w条数据,其他的表基本上都是几 阅读全文
posted @ 2016-11-07 15:19 小木瓜瓜瓜 阅读(331) 评论(0) 推荐(0) 编辑
摘要: sql代码如下(这个代码只是所有代码的一部分): 运行时间:40分钟没有出结果。 表信息:tb_SS的数据量在100w以内,其他的表都是在几千到上万条。所以,原始的数据量并不大。 结果集:最后返回的结果集在100条左右。 优化方法:通过更新统计信息,再次运行代码10秒就返回了结果。 总结:当语句比较 阅读全文
posted @ 2016-11-07 14:53 小木瓜瓜瓜 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 一、useradd 新增用户的过程包含了: (1)记录用户信息到/etc/passwd,/etc/shadow,自动分配一个uid。 (2)创建家目录。也就是在home目录下创建yy目录。 (3)复制/etc/skel下的文件到 刚创建的家目录,基本都是隐藏目录 (4)新建一个同名的有用户组。 此外 阅读全文
posted @ 2016-10-30 20:44 小木瓜瓜瓜 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 下面是mysql在启动时产生的日志,在我的机器上的路径是:/data/mysqldata/3306/mysql-error.log 内容如下: 注释: 阅读全文
posted @ 2016-10-13 17:55 小木瓜瓜瓜 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 今天客户反馈有一个报表运行超时。 于是登录到系统上,查到运行缓慢报表的对应sql,代码如下: 由于这个语句的外层是由工具生成的,修改不了,所以只能修改这个语句中最内层的的这个sql,能做的优化非常有限,sql语句上没有什么可以调整的。 运行时间:最开始的速度是170s。 表信息:表中有大概800w条 阅读全文
posted @ 2016-09-09 17:21 小木瓜瓜瓜 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 在linux环境中的MySQL服务,是区分大小写的,如果创建库时是test,那么就只能用test,而不能写出 Test。 一般情况下,mysql的语句(不仅是sql,还有mysql内部的命令)都要以 分号 或者 \G 来结尾,只有 use 语句。 (system@localhost) [(none) 阅读全文
posted @ 2016-09-01 11:26 小木瓜瓜瓜 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 一、安装源码编译配置工具:cmake 先下载cmake工具的源代码: 然后切换目录,进行 配置,需要注意的是 ./configure 是源码安装的很重要的一步,对要安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系: 从上面的输出,发现是报错了,仔细查看报错信息,发现是 没有找到合适的c 阅读全文
posted @ 2016-08-23 23:30 小木瓜瓜瓜 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 1、首先第一步是安装好CentOS 6.6 先下载好centos 6.6,然后,在虚拟机中安装好系统。 需要安装vmware tools,由于VMware Tools这个目录中包含了空格,所以要用 \ 来转义空格: 安装后,就可以从LInux中复制粘贴。 2、下载MySQL 5.6 mysql的下载 阅读全文
posted @ 2016-08-16 12:12 小木瓜瓜瓜 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 1、top 这种方法主要是在sql server 2000中使用,效率较差,这里就不详细说了。 2、row_number函数 这种方法是sql server 2005以后,支持了row_number函数后,才开始使用的。 一开始是这么写的,但是效率不好: 修改一下,直接用范围来限制: 3、SQL S 阅读全文
posted @ 2016-07-28 16:19 小木瓜瓜瓜 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 最近在安装一台dell的台式机,事先把win7系统刻录到u盘。 1、一开始的时候机器是可以正常进入到win7系统的。 2、然后想用u盘重装,因为没有反应,于是就点击强制关机按钮,再次启动电脑,显示无法引导系统。 3、按F2键,进入到BIOS设置程序里,于是开始各种改,仍然没有反应。 4、验证u盘是否 阅读全文
posted @ 2016-07-12 16:13 小木瓜瓜瓜 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 今天看了公司的数据库服务器的配置。 具体如下: 机器是戴尔 PowerEdge R730。 1、CPU是Intel Xeon E5-2620 v3 2.4GHz,用了2路,每路是6核心,12个核心,所以2路一共是12个核心,24个线程(也就是逻辑处理器,超线程技术,1个物理内核模拟2个逻辑内核)。 阅读全文
posted @ 2016-07-12 13:25 小木瓜瓜瓜 阅读(790) 评论(0) 推荐(0) 编辑
摘要: 上篇文章已经安装了selenium,也启动了浏览器,接下来就要学 如何来操作浏览器了。 下面的代码都是直接用python的交互式命令行来完成: 阅读全文
posted @ 2016-07-07 11:57 小木瓜瓜瓜 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 本文主讲分页方法的性能,这里不考虑表没有索引的情况,在分页id上都建有索引,表记录数为 432万条。 之前在某一篇文章的评论里看到,写sql无非就是增删改查,没什么难的,采用新的数据库版本也没有什么变化。 我认为这种看法是错误的,很肤浅的,井底之蛙。 实际上新的语法对应了新的算法,对应了性能的提升。 阅读全文
posted @ 2016-07-04 13:45 小木瓜瓜瓜 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 1、基本函数 2、获取 日期、时间的特定部分 3、获取日期的特殊函数 4、日期、时间运算 5、日期、时间运算的增强版本 6、日期、时间的转化和构造 7、 日期、时间的格式化以及获取格式 8、 unix时间戳、utc时间 阅读全文
posted @ 2016-06-24 18:30 小木瓜瓜瓜 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 今天一早,同事给我发了一个图片,让我看一下。 图片如下: 这是一段java代码,想了想,说答案是: 联系方式:18013820100 正好最近在学python,于是我用python重写了上面的代码,如下: 输出结果如下: 更加简单python代码: 这里需要特别注意的是,由于代码中包含了 中文字,我 阅读全文
posted @ 2016-06-22 16:51 小木瓜瓜瓜 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 在ORACLE中有一个伪列就是rowid,是唯一标识一条记录的id,通过解析可以显示这个记录所在的文件id、页id、行id。 其实,在SQL Server中也有类似的RID。通过未记录文档的值%%physloc%%,可以返回结果行中的物理位置,通过未记载文档的函数sys.fn_PhysLocForm 阅读全文
posted @ 2016-05-26 13:18 小木瓜瓜瓜 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 最近看了一篇文章,是讲如何通过命令行,把mysql中的数据导入到redis中的。 文中作者的思路是用sql语句来构建redis的命令,然后mysql执行这个sql语句,把sql语句的输出结果,通过管道输出到redis的客户端程序执行这些命令,从而把数据加载到redis。 原文作者用的是linux系统 阅读全文
posted @ 2016-05-25 14:47 小木瓜瓜瓜 阅读(997) 评论(0) 推荐(0) 编辑
摘要: 1、开启高级选项 2、查询选项值 3、设置选项值 这里设置min server memory 的就是服务器能使用的最小的内存,如果设置太小,会影响性能。 而recovery interval是恢复的间隔时间,如果间隔太长,会导致服务启动时间过长,而设置太小,会导致频繁checkpoint,影响性能。 阅读全文
posted @ 2016-05-18 15:09 小木瓜瓜瓜 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 1、表的结构:​ 2、问题: A表中的proj_dept字段包含了多个B表中的,用逗号分隔的dept_id,那么要如何实现A表和B表的关联? 3、解决方法: 阅读全文
posted @ 2016-05-17 14:18 小木瓜瓜瓜 阅读(695) 评论(0) 推荐(0) 编辑
摘要: 1、表结构 2、问题 一般在合并字符串我们可以用concat,但是这个函数主要实现类似字符串相加的目的,而且是同一行中的字符串的合并。 如果现在要实现把不同行的字符串进行合并,要如何实现呢? 3、解决方法: 完全合并 分组合并 分组、去重合并 分组、去重、排序合并 自定义连接符 阅读全文
posted @ 2016-05-17 14:15 小木瓜瓜瓜 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 1、isnull(xx):是否是null,类似于is null 2、ifnull(xx,yy):如果xx是null,那么返回指定yy,否则还是返回xx。 3、nullif(xx,yy) :如果xx=yy,则返回null,否则还是返回xx 4、coalesce(xx,yy,zz...):返回一个列表里 阅读全文
posted @ 2016-05-17 14:06 小木瓜瓜瓜 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 最近工作中需要把pdf文件转化为图片,想用python来实现,于是在网上找啊找啊找啊找,找了半天,倒是找到一些代码。 1、第一个找到的代码,我试了一下好像是反了,只能实现把图片转为pdf,而不能把pdf转为图片。。。 把图片转成pdf 代码如下: 2、第二个是文章写的比较详细,可惜的是linux下的 阅读全文
posted @ 2016-05-16 16:30 小木瓜瓜瓜 阅读(665) 评论(0) 推荐(0) 编辑
摘要: 客户反应考勤sql查询太慢,需要优化。 这个查询是客户用来考核他们员工的考勤的,所以会经常去查,另外,原始语句比较复杂,这个sql一共92行,涉及到6个表的多次关联,客户在查询1个月的数据,基本上要10分钟。 接下来做了如下尝试: 1、原始数据本来从实时表取,修改为从结存表取,减少表的关联,但是修改 阅读全文
posted @ 2016-05-09 14:14 小木瓜瓜瓜 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 结存数据太慢怎么办? (1)第1次优化 一开始,客户经理说客户,不想在多个查询中看数据,想在一个表中看所有的数据,也就是说需要把原有的多个查询的sql合并为一个,但是实际上合并后,每个月的原始数据量大概是100w条左右,然后进行计算,最后返回大概3w条左右,速度比较慢。 然后,客户反馈,在查询数据时 阅读全文
posted @ 2016-05-09 13:53 小木瓜瓜瓜 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 最近发现原来执行很快的存储过程,突然慢了下来,而很多存储过程每天就运行一次,所以打算把存储过程重新编译,另外,考虑到数据在不断变化,所以也要更新表的统计信息,这样能生成比较好的执行计划。 下面是具体的方法: 1、把存储过程标记为需重新编译,存储过程将在下次运行时重新编译 2、强制当前存储过程执行重编 阅读全文
posted @ 2016-04-27 13:53 小木瓜瓜瓜 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 问题如下: 数据库的事务是100%的吗? 还是可以理解为99.99999999% 问题连接: http://bbs.csdn.net/topics/391923619 下面是我的回复: 你是说比如断电了是吗? 可以保证事务是正确的,本质上,事务是有一个机制来实现的,那就是 先写日志,也就是说当你执行 阅读全文
posted @ 2016-04-25 18:09 小木瓜瓜瓜 阅读(129) 评论(0) 推荐(0) 编辑