月度归档:2012年12月

mysql中回收删除表的空间,优化表

REPAIR TABLE table_name 修复表
OPTIMIZE TABLE table_name 优化表
myisamchk table.MYI 修复索引
REPAIR TABLE 用于修复被破坏的表。
myisamchk TABLE.MYI 用于修复被破坏的索引文件。
OPTIMIZE TABLE 用于回收闲置的数据库空间,当表上的数据行被删除时,所占据的磁盘空间并没有立即被
回收,使用了OPTIMIZE TABLE命令后这些空间将被回收,并且对磁盘上的数据行进行重排(注意:是磁盘上
,而非数据库)。 多数时间并不需要运行OPTIMIZE TABLE,只需在批量删除数据行之后,或定期(每周一
次或每月一次)进行一次数据表优化操作即可,只对那些特定的表运行,这个操作对于游戏数据库中的某 些表
特别起作用,这些表基本上需要每周做一次优化,甚至一周两次。
OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLEtbl_name[,tbl_name] …
如果您已经删除了表的一大部分,
或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改,则应使
用OPTIMIZE TABLE。被删除的记录被保持在链接清单中,后续的INSERT操作会重新使用旧的记录位置。
您可以使用OPTIMIZE TABLE来重新利用未使用的空间,并整理数据文件的碎片。
在多数的设置中,您根本不需要运行OPTIMIZE TABLE。
即使您对可变长度的行进行了大量的更新,
您也不需要经常运行,每周一次或每月一次即可,只对特定的表运行。
OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。
对于MyISAM表,OPTIMIZE TABLE按如下方式操作:
1. 如果表已经删除或分解了行,则修复表。
2. 如果未对索引页进行分类,则进行分类。
3. 如果表的统计数据没有更新(并且通过对索引进行分类不能实现修复),则进行更新。
对于BDB表,OPTIMIZE TABLE目前被映射到ANALYZE TABLE上。
对于InnoDB表,OPTIMIZE TABLE被映射到ALTER TABLE上,这会重建表。
重建操作能更新索引统计数据并释放成簇索引中的未使用的空间。

vi 方向键及 backspace 的问题

vi 方向键及 backspace 的问题
Posted on March 5th, 2010 Sam Tang 1 comment

在 Ubuntu 上面有时编辑一些设定档时会直接用 vi 來做,但预设安裝 Ubuntu 后用 vi 开启档案,会发觉方向键及 backspace 键不能使用,解法方法是在家目录建立 .vimrc 档案,然后加入以下內容:

set nocompatible
set backspace=2

保存文件后,下次使用 vi 打开文档就可以使用方向键及 backspace 了。

git 创建 .gitignore 文件 建立项目过滤规则

创建 .gitignore 随意设置想跟踪哪些文件 和不跟踪哪些文件.

 

1.在项目根目录下建立 .gitignore 文件

2.   .gitignore文件过滤有两种模式,开放模式和保守模式
2.1开放模式负责设置过滤哪些文件和文件夹

eg:

过滤文件夹设置:

/mtk/       表示过滤这个文件夹

过滤文件设置

指定过滤某种类型的文件:
*.zip
*.rar
*.via
*.tmp
*.err

指定过滤某个文件:
/mtk/do.c

/mtk/if.h

2.2 b保守模式负责设置哪些文件不被过滤,也就是哪些文件要被跟踪。
跟踪某个文件夹

!/plutommi/mmi

跟踪某类文件

!*.c

!*.h

跟踪某个指定文件

!/plutommi/mmi/mmi_features.h

3.配置.gitignore 的简易原则

采用共享模式与保守模式结合配置的办法。eg:一个文件夹下有很多文件夹和文件,而我只想跟踪其中的一个文件,这样设置就可以满足这种情况,先用共享模式把整个目录 都设置为不跟踪,然后再用保守模式把这个文件夹中想要跟踪的文件设置为被跟踪,配置很简单,就可以跟踪想要跟踪的文件。

 

4.我做mtk项目用到的 .gitignore 文件的具体配置如下:

#######开放模式############

###############
#    folder   #
###############
/_souceInsight_/
/build/
/MoDIS/
/Doc/
/mtk_lib/
/scripts/
/header_temp/
/tools/AudioResGen/
/tools/GLBOptionSwtichRef/
/tools/GMSL/
/tools/MinGW/
/tools/MSYS/
/tools/NewMMIResourceTool/
/tools/NVRAMStatistic/
/tst/
/verno/
/plutommi/tool/
/plutommi/Customer/ResGenerator/
/plutommi/Customer/CustResource/
/plutommi/Customer/LcdResource/
/plutommi/Customer/Images/
/plutommi/mmi/Framework/EventHandling/EventsInc/mmi_menu_handlers.h
/vendor/font/MTK/official/project/plutommi/content/inc/
/vendor/font/MTK/official/project/plutommi/content/src/

###############
#  fixed file #
###############
.gitignore
*.exe
*.txt
*.def
*.dsp
*.lib
*.doc
*.dll
*.lnt
*.pm
*.xls
*.dbg
*.DBG
*.o
*.plg
*.keep

###############
#  temp file  #
###############
~*
*.log
*.cmm
*.men
*.ini
*.fig
*.cmp
*.tmp

###############
#    script   #
###############
*.bat

#########保守模式############
!/plutommi/Customer/CustResource/PLUTO_MMI/
!/plutommi/Customer/LcdResource/MainLcd128X160/
!/plutommi/Customer/Images/PLUTO128X160/image.zip
!/vendor/font/MTK/official/project/plutommi/content/inc/MainLcd128X160/
!/vendor/font/MTK/official/project/plutommi/content/src/MainLcd128X160/

===*.obj
*.pch
*.res
*.idb
*.dep
*.sbr
*.suo
*.pdb
*.ncb
*.plg
*.ilk
*.o
*.lo
*.la
*.al
.libs
*.so
*.so.[0-9]*
*.a
*.pyc
*.pyo
*.rej
*~
#*#
.#*
.*.swp
.DS_Store
/Debug/
/ImgCache/
/Backup_rar/
/Debug/
/debug/
*.orig
*.aps
*.APS
*.chm
*.exp
*.pdb
*.rar
*.gitignore