MySQL兩個有趣的函式

2021-09-26 09:19:07 字數 1495 閱讀 9885

uuid_short()

返回「矮的」通用識別符號作為64位無符號整數。返回的值uuid_short()屬性返回的字串格式128位識別符號不同。uuid()函式具有不同的唯一性。價值uuid_short()如果下列條件成立,則保證是唯一的:

這個uuid_short()返回值是這樣構造的:

(server_id & 255) << 56

+ (server_startup_time_in_seconds << 24)

+ incremented_variable++;

mysql> select uuid_short();

-> 92395783831158784

uuid_short()不適用於基於語句的複製。

sleep(duration)

給出的睡眠(停頓)的秒數。duration引數,然後返回0。如果sleep()被中斷,則返回1。持續時間可能有小數部分。

當睡眠正常返回(沒有中斷)時,它返回0:

mysql> select sleep(1000);

+-------------+

| sleep(1000) |

+-------------+

| 0 |

+-------------+

什麼時候sleep()是被中斷的查詢呼叫的唯一東西,它返回1,查詢本身不返回錯誤。使用kill query另一屆會議:

mysql> select sleep(1000);

+-------------+

| sleep(1000) |

+-------------+

| 1 |

+-------------+

什麼時候sleep()查詢只是被中斷的查詢的一部分,則查詢將返回乙個錯誤。使用kill query另一屆會議:

mysql> select 1 from t1 where sleep(1000);

error 1317 (70100): query execution was interrupted

此函式對於基於語句的複製是不安全的。時,如果使用此函式,則會記錄警告。binlog_format設定為statement.

第二個函式可以搞乙個負優化。哈哈

第二個函式的秒可以寫小數如0.5也可以寫0,但不能為負數或不寫。

兩個有趣的演算法問題

2019年2月19日註 這篇文章原先發在自己github那邊的部落格,時間是2017年2月5日 一共是兩道題,第一道是上學期的matlab考試的時候碰到的,另外一道是師弟發的一道數學題的學習筆記,於是找了個時間想了一下,結合網上找到的資料參考。用的是matlab語言。1.乙隻青蛙,每次可以選擇跳1級...

關於矩陣數字的兩個有趣問題

昨天看見網上有兩個貼子,關於矩陣數字的問題,仔細發現兩個試題的演算法很相似。問題1 當引數是1就輸出 1 當引數是2就輸出 222 212 222 當引數是3就輸出 33333 32223 32123 32223 33333 問題2 int i 5 1 2 3 4 5 16 17 18 19 6 1...

URAL 2027 2028 兩個有趣的題

這兩個題,講的是有一種奇怪的語言,是一種二維的矩陣。前乙個題,是根據所給的要求,寫乙個簡單的直譯器。後乙個題,是用那種語言寫乙個簡單的小程式。挺有意思的,所以在這裡紀念一下。順便那個語言的原型是一種叫做befunge的語言。真實存在的喲。簡單的直譯器 include include include ...