0%

为了让你想象 Transport 如何工作,我会从一个简单的应用程序开始,这个应用程序什么都不做,只是接受客户端连接并发送“Hi!”字符串消息到客户端,发送完了就断开连接。

阅读全文 »

STR_TO_DATE(str,format)

This is the inverse of theDATE_FORMAT()function. It takes a string str and a format string format .STR_TO_DATE()returns aDATETIMEvalue if the format string contains both date and time parts, or aDATEorTIMEvalue if the string contains only date or time parts. If the date, time, or datetime value extracted from str is illegal,STR_TO_DATE()returnsNULLand produces a warning.

The server scans str attempting to match format to it. The format string can contain literal characters and format specifiers beginning with%. Literal characters in format must match literally in str . Format specifiers in format must match a date or time part in str . For the specifiers that can be used in format, see theDATE_FORMAT()function description.

1
2
3
4
mysql> SELECT STR_TO_DATE('01,5,2013','%d,%m,%Y');
-> '2013-05-01'
mysql> SELECT STR_TO_DATE('May 1, 2013','%M %d,%Y');
-> '2013-05-01

行级锁

  • 劣势:开销大,加锁慢;会出现死锁;

  • 优势:锁定粒度小,发生锁冲突的概率最低,并发度也最高。

    阅读全文 »

对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此,优化数据库插入性能是很有意义的。 经过对MySQL InnoDB的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考。

阅读全文 »

数据库命令规范

  1. 所有数据库对象名称必须使用小写字母并用下划线分割

  2. 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)

  3. 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符

  4. 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀

  5. 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低)

    阅读全文 »