Browsed by
标签: PHP

MySQL性能优化的最佳20+条经验

MySQL性能优化的最佳20+条经验

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。

1. 为查询缓存优化你的查询

大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。

这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例:

// 查询缓存不开启
$r = mysql_query("SELECT username FROM user WHERE signup_date >= CURDATE()");

// 开启查询缓存
$today = date("Y-m-d");
$r = mysql_query("SELECT username FROM user WHERE signup_date >= '$today'");

上面两条SQL语句的差别就是 CURDATE() ,MySQL的查询缓存对这个函数不起作用。所以,像 NOW() 和 RAND() 或是其它的诸如此类的SQL函数都不会开启查询缓存,因为这些函数的返回是会不定的易变的。所以,你所需要的就是用一个变量来代替MySQL的函数,从而开启缓存。

阅读全文 Read More

好烂啊 有点差 凑合看看 还不错 很精彩 ( 64 人打了分,平均分: 4.48 )
Loading...
编程语言汽车

编程语言汽车

Oscar Mayer Wienermobile 以前酷壳发布过《 操作系统航空公司 》戏谑了一下如果操作系统是航空公司会怎么样的一种情况。现在,我们来YY一下编程语言,如果编程语言是汽车,又会怎么样?

  • Ada 这是一辆坦克。一个很厚重但很丑的坦克,从不会崩溃。如果你告诉别人你正在驾驶Ada,别人会狂笑不已。但是,你会开着一辆跑车去打战吗?[from Amit Dubey]
  • 汇编语言 只是一个祼露在外的引擎。你不得不自己去造车,并向其提供汽油,但你在驾车时要小心,因为他会像一只从地狱放出来的蝙蝠一样。其实,对于汇编语言,你自己才是车。[From “Subterfug” off digg.com:]
  • Basic 是一辆很简单的车,对于一些短途的交通比如去一些超市商店,他是很有用的。以前这是一个对初学者很流行的车,然而,近来它蜕变成脚本,而更新的车型被抛光以应对长途旅程,但那也只是新瓶装旧酒。[from Przemyslaw Wrzos]
  • C 是一辆赛车,它的速度是令人难以想象的快,可惜的是它每50公里就会损毁一次。
  • Cobol 号称是一辆车,但是,没有哪个“有自尊的司机”会承认以前驾驶过它。
  • C# 是一个竞争性的家庭旅行车。一旦你开始使用,你就别想再使用别的竞争者的产品了。
  • C++ 是一个加大马力的C赛车,其有一堆新增的功能,而且,它只会每250公里损毁一次。可是,一旦它有故障,没人会知道故障发生在哪里。
  • 阅读全文 Read More

    好烂啊 有点差 凑合看看 还不错 很精彩 ( 14 人打了分,平均分: 4.00 )
    Loading...
    到处都是Unix的胎记

    到处都是Unix的胎记

    一说起Unix编程,不必多说,最著名的系统调用就是fork,pipe,exec,kill或是socket了( fork(2) , execve(2) , pipe(2) , socketpair(2) , select(2) , kill(2) , sigaction(2) )这些系统调用都像是Unix编程的胎记或签名一样,表明着它来自于Unix。

    下面这篇文章,将向大家展示Unix下最经典的socket的编程例子——使用fork + socket来创建一个TCP/IP的服务程序。这个编程模式很简单,首先是创建Socket,然后把其绑定在某个IP和Port上上侦听连接,接下来的一般做法是使用一个fork创建一个client服务进程再加上一个死循环用于处理和client的交互。这个模式是Unix下最经典的Socket编程例子。

    下面,让我们看看用C,Ruby,Python,Perl,PHP和Haskell来实现这一例子,你会发现这些例子中的Unix的胎记。如果你想知道这些例子中的技术细节,那么,向你推荐两本经典书——《Unix高级环境编程》和《Unix网络编程》。

    阅读全文 Read More

    好烂啊 有点差 凑合看看 还不错 很精彩 ( 12 人打了分,平均分: 3.33 )
    Loading...
    编程真难啊

    编程真难啊

    上周,在Sun的Java论坛上出现了一个这样的帖子,这个贴子的链接如下:
    http://forums.sun.com/thread.jspa?threadID=5404590&start=0&tstart=0

    LZ的贴子翻译如下:

    大家好,我是一个Java的新手,我有一个简单的问题:请问我怎么才能反转一个整数的符号啊。比如把-12转成+12。是的,毫无疑问这是个简单的问题,但我弄了一整天我也找不到什么好的方法。非常感谢如果你能告诉我Java有什么方法可以做到这个事,或者告诉我一个正确的方向——比如使用一些数学库或是二进制方法什么的。谢谢!

    这个贴子的沙发给出了答案:

    阅读全文 Read More

    好烂啊 有点差 凑合看看 还不错 很精彩 ( 65 人打了分,平均分: 4.66 )
    Loading...
    十个Web开发文章和教程

    十个Web开发文章和教程

    下面是十个在2009年8月份里出现的十个非常不错的Web开发方面的文章和教程。推荐给大家,当然,都是英文啦。如果你愿意,欢迎翻译后提交给 酷壳

    1) 一个简单的Lava 灯式的菜单 (使用jQuery完成)

    2) 使用jQuery自动生成文章内容的目录 。就像是使用Word一样,设置一下标题,然后可以自动生成文章的目录。

    3) 使用jQuery为图片创建图片标题和描述 。这是一个超Cool的效果,当你的鼠标移到图片上的时候,图片的上下会出现遮覆,上面是标题,下面是描述,相当不错的用户体验,当鼠标移开后,遮覆消失。

    阅读全文 Read More

    好烂啊 有点差 凑合看看 还不错 很精彩 ( 10 人打了分,平均分: 3.40 )
    Loading...
    22个开源的PHP框架

    22个开源的PHP框架

    PHP 是一个被广泛使用的来进行Web开发的脚本语言。虽然有很多其它可供选择的Web开发语言,像:ASP 和Ruby,但是PHP是目前为止世界上最为流行的。

    那么,是什么让PHP如此流行?PHP 如此之流行是因为比起别的语言来,它更容易学习,网上有一大堆相当相当不错的PHP教程可以让你快速地马上就可以进行Web程序的开发。虽然PHP是是简单的,而且是容易上手的,但用它编程还是有点麻烦,尤其是一些反复在用的功能。不过,幸运的是,很多开发团队早就注意到了这点,现在在网上,PHP有许多的可以信任的PHP Framework 可以缩短我们的开发时间。这些框架被一个巨大的社区所支持,因些,如果你有什么问题的话,一定会有人乐意帮你去解决。

    废话少说,让我们来看看这22个PHP的框架。

    阅读全文 Read More

    好烂啊 有点差 凑合看看 还不错 很精彩 ( 4 人打了分,平均分: 2.00 )
    Loading...
    7个免费强大的Ajax文件管理器

    7个免费强大的Ajax文件管理器

    如果你正在开发一个WEB应用,需要一个不错的强大的文件管理器,并且可以简单的定制,那么,下面的这七个免费开源的文件管理器你一会喜欢的。这些文件管理器都很强大,他们全部都支持PHP,Javascript和Ajax,有几个还支持别的WEB开发语言。这些管理理可以让你完成目录文件浏览,搜索,上传/下载,编辑,拷贝,移动,删除等等文件操作功能。

    1. AjaXplorer

    Ajax File Manager

    AjaXplorer 是一个免费的 Ajax 文件管理器,其很容易安装。而且它的布局很丰富,可以用于多种应用,比如:文件管理,文件共享,图片库,代码库等等。不过它只支持(4 呀 5) ,不支持数据库。

    阅读全文 Read More

    好烂啊 有点差 凑合看看 还不错 很精彩 ( 10 人打了分,平均分: 2.30 )
    Loading...
    使用PHP的cURL库

    使用PHP的cURL库

    使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库。本文主要讲述如果使用这个PHP库。

    启用 cURL 设置
    首先,我们得先要确定我们的PHP是否开启了这个库,你可以通过使用php_info()函数来得到这一信息。

    <?php
        phpinfo();
    ?>

    阅读全文 Read More

    好烂啊 有点差 凑合看看 还不错 很精彩 ( 11 人打了分,平均分: 3.45 )
    Loading...
    菜鸟学PHP之Smarty入门

    菜鸟学PHP之Smarty入门

    刚开始接触模版引擎的 PHP 设计师,听到 Smarty 时,都会觉得很难。其实笔者也不例外,碰都不敢碰一下。但是后来在剖析 XOOPS 的程序架构时,开始发现 Smarty 其实并不难。只要将 Smarty 基础功练好,在一般应用上就已经相当足够了。当然基础能打好,后面的进阶应用也就不用怕了。

    这篇文章的主要用意并非要深入探讨 Smarty 的使用,这在 官方 使用说明中都已经写得很完整了。笔者仅在此写下一些自己使用上的心得,让想要了解 Smarty 却不得其门而入的 朋友 ,可以从中得到一些启示。就因为这篇文章的内容不是非常深入,会使用 Smarty 的朋友们可能会觉得简单了点。

    阅读全文 Read More

    好烂啊 有点差 凑合看看 还不错 很精彩 ( 6 人打了分,平均分: 2.83 )
    Loading...