一个用户SQL慢查询分析,原因及优化
admin 10年前 (2014-09-17) 2930浏览 0评论
问题描述 一个用户反映先线一个SQL语句执行时间慢得无法接受。SQL语句看上去很简单(本文描述中修改了表名和字段名): SELECT count(*) FROM a JOIN b ON a.`S` = b.`S` WHERE a.`L` > ’...
admin 10年前 (2014-09-17) 2930浏览 0评论
问题描述 一个用户反映先线一个SQL语句执行时间慢得无法接受。SQL语句看上去很简单(本文描述中修改了表名和字段名): SELECT count(*) FROM a JOIN b ON a.`S` = b.`S` WHERE a.`L` > ’...
admin 10年前 (2014-09-17) 2852浏览 0评论
背景 有用户报告一个普通的select 语句被hang住了,执行超时。查明之后发现是autocommit使用不当导致。 这里将case简化,说明复现步骤及原因。 复现 session1 建表并插入数据: create table if not exi...
admin 10年前 (2014-09-14) 3926浏览 0评论
前言 越来越多的人使用emacs作为开发工具. 甚至skype,gmail,豆瓣FM都能通过emacs. 作为一个产品开发,肯定使用很多插件,设置一些快捷键来提高开发效率.以前一直使用 prelude,很久之后发现有以下问题: 比如开启python语...
admin 10年前 (2014-09-12) 3029浏览 0评论
当前目录下: <code class="language-console" data-lang="console"><span class="gp">$</sp...
admin 10年前 (2014-09-12) 10411浏览 0评论
git clone 可以不用全部下载,只下载当前的 commit 版本, git clone git://git.aikaiyuan.com/aikaiyuan.git. --depth 1 也就是指定克隆深度为 1。 当然,通过这样下载的代码就不能...
admin 11年前 (2014-08-14) 3735浏览 0评论
前些天一个Nginx+PHP项目上线后遭遇了性能问题,于是打算练练手,因为代码并不是我亲自写的,所以决定从系统层面入手看看能否做一些粗线条的优化。 首先,我发现服务的Backlog设置过小,可以通过ss命令查询Send-Q来确认: [root@aik...
admin 11年前 (2014-08-14) 5633浏览 0评论
继续上回:linux诡异的半连接(SYN_RECV)队列长度(一) 我们已经确认了全连接队列的长度计算,接下来继续寻找半连接队列长度。 试着慢慢减小tcp_max_syn_backlog的值,但还是看不到半连接状态数量的变化。 实在没什么思路,只能G...
admin 11年前 (2014-07-31) 2969浏览 0评论
Go 很多地方都透露着“约定大于配置”的理论,比如测试、可见性、语法等等。 本文示例模块为:foo.go,则对应的测试模块为:foo_test.go,测试版本为:go v1.0.3。 先写好示例代码: foo.go package foo func ...
admin 11年前 (2014-07-31) 3017浏览 0评论
PHP 5.4.3 环境中测试了一个在 PHP 5.2 环境下运行正常的程序,却发现本应正常提交一个中文字符串到数据库的代码却提交了一个空字符串,经过排查,该字符串在经 htmlspecialchars 函数转义之前正常,而在转义之后却变成了空字符串...
admin 11年前 (2014-07-28) 2940浏览 0评论
注:本文的原文是 5 Great Python Interview Questions,同时谢谢 @非乌龟 指出我的疏漏,没有来源标记,也赞其细心,希望看文章的同时大家都能看下原文,因为每个人的理解不一致,原汁原味的最有帮助,我翻译很多文章的目的一是...
admin 11年前 (2014-07-24) 2718浏览 0评论
这是我写BASH程序的招式。这里本没有什么新的内容,但是从我的经验来看,人们爱滥用BASH。他们忽略了计算机科学,而从他们的程序中创造的是“大泥球”(译注:指架构不清晰的软件系统)。 在此我告诉你方法,以保护你的程序免于障碍,并保持代码的整洁。 不可...
admin 11年前 (2014-07-23) 3928浏览 0评论
摘要 互联网行业的产品大多要求快速更新迭代,为保证产品的质量,单测越来越受到了开发和测试人员的重视。对于一个非全新的项目,补全原有代码的单测成本非常大,并且收效不明显。目前,对于非全新项目,开发人员一般只会对增量(新增修改)代码做单测。现有的覆盖率统...
admin 11年前 (2014-07-15) 3241浏览 0评论
今天智平在群里发了一个signal的考题考大家,就是下面程序是什么输出: import signal import sys count = 0 def signal_handler(signum, frame): global count count...
admin 11年前 (2014-07-09) 5023浏览 0评论
SYN 包攻击是网络上比较老的一种攻击方式。在 Linux 中,可以通过开启 net.ipv4.tcp_syncookies = 1 来抵抗这种攻击。那么,在开启 syncookies 之后,Linux 系统做了些什么?如何做的?这是本文试图整理的内...
admin 11年前 (2014-07-09) 3631浏览 0评论
C语言使用函数前为什么要声明是个老问题了,还是没忍住想简单记一下,事情原于同事写的一段测试代码。 前两天同事拿来一段C代码让我帮忙看下,main()函数里面调用了一个另一个函数,该函数返回double值,在函数内部return之前printf打印出来...
admin 11年前 (2014-06-27) 3473浏览 0评论
事先申明。我是借鉴了这篇博客:http://blog.phpdeveloper.org/?p=140 当然在其中遇到了不少问题,我在这里一一说明: 1、准备工作 pecl mqseries :http://pecl.php.net/package/m...
admin 11年前 (2014-06-25) 3600浏览 0评论
GitLab 7.0 发布了,改进内容包括: 以下内容来自 ustc Gitlab7.0放弃了对ruby-1.9.3的支持,最低版本为ruby-2.0.0。由于官方安装说明指出:使用rvm等自动工具安装ruby,可能导致ssh操作仓库异常,因此手动编...
admin 11年前 (2014-06-17) 2865浏览 0评论
1. 记住阿姆达尔定律: funccost是函数func运行时间百分比,funcspeedup是你优化函数的运行的系数。 所以,如果你优化了函数TriangleIntersect执行40%的运行时间,使它运行快了近两倍,而你的程序会运行...