9 mysql timestamp insert delayed-execution
我有一个带有字段的表:: ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
我的问题是,如果我使用延迟插入此表上,将时间戳是当插入实际上是由当请求排队的时间或时间?
答案是当请求排队时,但是在发出请求时不一定正确,因为如果没有表的线程,则在建立表的线程之后排队请求.
该线程执行INSERT语句,但不是将该行写入表,而是将最后一行的副本放入由处理程序线程管理的队列中.线程会注意到任何语法错误并将其报告给客户端程序.
延迟语句执行时的事件顺序:
DELAYED
锁INSERT
并将最后一行放入队列delayed_insert_limit
行并执行SELECTS
写入之间的任何挂起DELAYED
锁被释放根据是否需要创建线程以及检查或获取DELAYED
锁定所需的时间,执行语句(步骤0)和执行语句(步骤3)之间的时间会有所不同.然后,根据队列的大小(特别是如果它delayed_insert_limit
在行上),以及是否有任何挂起SELECTS
发生,写入将延迟一些不可预测的时间.
归档时间: |
|
查看次数: |
890 次 |
最近记录: |