分类目录归档:程序相关

C,Python,环境配置等

ubuntu9.10安装 备忘

ubuntu9.10安装 备忘

人生的意义在于折腾,生命不止,折腾不止
于是在体验了一把window7后,又把自己的开发环境换到了ubuntu下,安装完系统后安装一些常用软件及开发环境

1、安装kupfer: sudo apt-get install kupfer
2、终端命令 xfce下面是Alt+F2,输入 xfce4-terminal GNOME下也是Alt+F2,输入gnome-terminal
3、安装esvn:
sudo apt-get install esvn
4、安装nginx+php 移步:http://www.linuxidc.com/Linux/2008-07/14419.htm

QUOTE:
php-cgi: /usr/bin/php-cgi
php5-cgi: /usr/bin/php5-cgi
cgi config: /etc/php5/cgi/php.ini

conf: /etc/nginx/nginx.conf
bin:/usr/sbin/nginx
vhost: /etc/nginx/sites-enable/default
cgi-params: /etc/nginx/fastcgi-params

spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi
sudo /etc/init.d/nginx start

5、安装gvim : sudo apt-get install gvim
6、chm阅读器: sudo apt-get install chmsee (不支持索引查找,针对一些本身有乱码的,但是在window下可以正常查看的文件不能正常显示)

命令备忘:
1、sudo fdisk -l 查看磁盘信息(此处需要使用sudo,否则权限不够,不会看到任何信息)
2、mount -t vfat /dev/sda5 /media/windows -o codepage=936,iocharset=utf8

MySQL中的排序

MySQL中的排序

曾经以为filesort是文件排序,后来知道这仅仅是一个排序,文件只是路人甲而已
前些日子从china-pub上买了《Mysql核心内幕》,当浏览到第4章时,以前对MySQL的排序,join buffer不理解的地方,忽然觉得懂了,只是不知道这个懂了是真懂了还是假懂了。
就如当你从一个梦中醒来,难道你就确认你一定不是在做梦了吗?

说说看了什么吧,
filesort排序算法是将一组记录或元素按照快速排序算法放入到内存缓存,然后这几个内存缓存按合并排序算法排序。(摘自《Mysql核心内幕》第82页)
filesort有两种模式:
1、直接模式,将已经数据完全读取出来,然后进行排序
2、指针模式,先根据过滤条件取出排序字段(sort_key)和可以行指针信息(row_id),根据sort_key排序后,再依据row_id取出取出查询中所请求的其他字段。
第一种算法的优势是减少了数据的二次访问,当然会消耗更多的内存,在算法上来讲是以空间换时间。
MySQL会尽量采用每一种方式,只有在每一种方式不行的情况下才会采用第二种方式(即指针模式)

然后是MySQL的三种排序方法:
1、使用索引排序
2、在单表上使用filesort排序
3、先使用临时表,再使用filesort排序
(摘自《Mysql核心内幕》第83页)

mysql各版本之间的差别

在PHP面试中经常会遇到关于mysql各版本之间差别的问题,
翻看以前的书籍(《MySQL5 权威指南》)找到如下答案,另外参考了如下网址的部分内容
摘抄如下:
功能 版本(开始支持的版本)

镜像(动态复制)                                             3.23
在MyISAM数据表中进行全文搜索              3.23
BDB数据表开始支持事务                                3.23.34
InnoDB数据表开始支持事务处理                3.23.34
InnoDB数据表上的引用集成性检查功能   3.23.34
==================================
Delete和跨多个数据表的Delete                  4.0
跨多个数据表的UPDATE                               4.0
UNION(合并多个SELECT结果)                   4.0
查询缓冲区(加快重复执行的SQL命令的执行速度) 4.0
嵌入式MySQL库                                               4.0
加密通信(SSL)                                             4.0
InnoDB数据表开始支持热备份                    4.0
适用于客户软件共享函数库的GPL许可证   4.0
================================
子查询                                                                   4.1
支持Unicode(UTF8和UCS2=UTF16)        4.1
支持GIS(GEOMETRY数据类型,R树索引)        4.1
可变语句(带参数的SQL命令)                      4.1
GROUP BY 语句增加ROLLUP子句                 4.1
mysql.user数据表采用了更好的口令字加密算法      4.1
允许单个数据表单独存在一个InnoDB表空间文件里   4.1
======================================
VARCHAR类型的数据列可以容纳超过255个字符      5.0
引入了了BIT数据类型                                          5.0
存储过程                                                                  5.0
触发器                                                       5.0
视图                                                           5.0
游标                                                           5.0
更节约空间的InnoDB表空间格式                          5.0
新的数据库架构管理方案(数据字典,INFORMATION_SCHEMA数据库)5.0
====================================================
FULL OUTER JOIN                     5.1
事件调度                                                5.1
分区                                                        5.1
基于行的备份                                      5.1
插件API                                               5.1
服务器日志表                                     5.1
外键 6.x (3.23版本中已在innoDB中实现)

以上所示的版本是指开始支持的版本