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 次 |
| 最近记录: |