今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意
近来要使用内存数据库hsql来进测试,写下了下面的一些经验:1. HSQL不支持BLOB,所以使用LONGVARBINARY来代替BLOB, 用VARBINARY来代替mediumblob;2. HSQL不支持TEXT / MEDIUMTEXT, 使用LONGVARCHAR来代替;3. TINYINT, INT, BIGINT不支持精度,在mysql里面,tinyint(1)我们来表示的
boolean型的值,只能放弃了,统统得去掉精度;4. UNSIGNED 关键字不支持;5. HSQL不支持AUTO_INCREMENT,使用IDENTITY关键字,但是复合主键就不可以表示为IDENTITY; create table user(id IDENTITY,name varchar(20));6. HSQL不支持ENGINE, DEFAULT_CHARSET and ROW_FORMAT7. HSQL不支持ON DUPLICATE KEY UPDATE8. HSQL不支持TIMESTAMP DEFAULT '0000-00-00 00:00:00',使用CURRENT_TIMESTAMP代替