乌秋博客
梦想在左,生活在右。   

Sendmail+SpamAssassin+MIMEDefang Anti Spam Mail
Install SpamAssassin and MIMEDefang need a lots of optional package, you can get it from http://search.cpan.org

1. Install SpamAssassin

# groupadd spamd
# useradd -g spamd -s /bin/false spamd
# tar xzvf Mail-SpamAssassin-3.0.2.tar.gz
# cd Mail-SpamAssassin-3.0.2
# export LC_ALL=C
# perl Makefile.PL
# make
# make install
# cp spamd/redhat-rc-script.sh /etc/rc.d/init.d/spamd
# chmod 755 /etc/rc.d/init.d/spamd
# chkconfig --add spamd
# vi /etc/rc.d/init.d/spamd


阅读全文..
posted at 11/05/23 01:55 | 开发手记 - 工作日志 | 浏览(76) | 引用 | 评论

CentOS And Debian Frequently Configure Error Solutions
Only For Debian And CentOS 5
configure: error: No curses/termcap library found
The wrong way:
--with-named-curses-libs=/usr/lib/libncursesw.so.5
It can config the configure error, but it will cause make time error, the right way is:
yum -y install ncurses-devel
debian: apt-get install libncurses5-dev

configure: error: xml2-config not found
yum -y install libxml2-devel
debian:apt-get install libxml2-dev
阅读全文..
posted at 11/05/23 01:52 | 开发手记 - 工作日志 | 浏览(172) | 引用 | 评论

MySQL 联合索引
注意:Index(Name,Age)表示在Name,Age两列上建立联合索引

由于索引对数据库的查询性能有着至关重要的影响,下面是我的一些总结和体会:

一个查询一次只能使用一个索引:select name from user where name=’plantegg’ and age>35 , 如果Index(name); Index(age)的话,MySQL查询优化器会自动选择一个索引来使用;
MySQL选择哪个索引,可以这样来看:mysql> show index from photo;
+——-+————+————————+————–+—————+———–+————-+———-+——–+——+————+———+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+——-+————+————————+————–+—————+———–+————-+———-+——–+——+————+———+
| photo | 0 | PRIMARY | 1 | photo_id | A | 237871 | NULL | NULL | | BTREE | |
| photo | 1 | index_random | 1 | random | A | 237871 | NULL | NULL | YES | BTREE | |
| photo | 1 | FK_photo_profile_id | 1 | profile_id | A | 237871 | NULL | NULL | | BTREE | |
| photo | 1 | FK_photo_temp_photo_id | 1 | temp_photo_id | A | 237871 | NULL | NULL | YES | BTREE | |
| photo | 1 | FK_photo_album_id | 1 | album_id | A | 237871 | NULL | NULL | YES | BTREE | |
+——-+————+————————+————–+—————+———–+————-+———-+——–+——+————+———+
阅读全文..
posted at 10/03/27 14:12 | 技术文摘 - MySQL | 浏览(40) | 引用 | 评论(1)

通过索引优化含ORDER BY的MySQL语句
关于建立索引的几个准则:

1、合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度。

2、索引越多,更新数据的速度越慢。

3、尽量在采用MyIsam作为引擎的时候使用索引(因为MySQL以BTree存储索引),而不是InnoDB。但MyISAM不支持Transcation。

4、当你的程序和数据库结构/SQL语句已经优化到无法优化的程度,而程序瓶颈并不能顺利解决,那就是应该考虑使用诸如memcached这样的分布式缓存系统的时候了。

5、习惯和强迫自己用EXPLAIN来分析你SQL语句的性能。

阅读全文..
posted at 10/03/27 14:01 | 技术文摘 - MySQL | 浏览(10) | 引用 | 评论

联合索引的经典例子
1.SQL需求,统计当天的数据量。

SQL> SELECT count(*) FROM test_union WHERE win_type=1 AND gmt_create >= trunc(sysdate,'dd') and gmt_create <= trunc(sysdate,'dd')+1;

COUNT(*)
----------
20063

1 row selected.
2.查看其索引,以gmt_create开头。

sql>create index idx_union on test_union (gmt_create,win_type) tablespace tbs_index compute statistics;
3.查看awr报表的性能,逻辑读很高,达到9700个。

Buffer Gets Executions Gets per Exec %Total Time Time (s) Hash Value
--------------- ---------- -------------- ------ -------- --------- ------
205,157,987 21,236 9,660.9 34.5 6733.21 7568.58 1532799124
Module: java@app12345 (TNS V1-V3)
SELECT count(*) FROM test_union WHERE win_type=1 AND gmt_create >= trunc(sysdate,'dd') and gmt_create <= trunc(sysdate,'dd')+1
因为是只通过索引扫描,当看到返回结果集在2万左右,我们很容易估算出这个sql需要的逻辑读,(gmt_date字段7个字节+win_type字段1个字节+rowid+…)*2万,小于100个,现在很明显是偏高的。
阅读全文..
posted at 10/03/27 13:56 | 技术文摘 - MySQL | 浏览(30) | 引用 | 评论(1)



      << prev    1  ...  4  5  6  7  8  9  10  11  12  ...  80    next >>