正在學習磁區
手動分了幾個區,發現兩個問題,
1.以range方式磁區,p0=20,p1=40,p2=60,p3=80,p4=maxvalue
當我把>=80的資料都洗掉了之后,資料檔案p4
它沒有了

我又增加了大于80的資料,結果p4檔案沒有出來,再看資料庫定義
已經變成了
p0=20,p1=40,p2=60,p3=maxvalue
這正常嗎?
2.對已經磁區好的資料,我進行調整,比如從
p0=20,p1=40,p2=60,p3=80,p4=maxvalue
調整為
p0=20,p1=40,p2=60,p3=80,p4=100,p5=maxvalue
結果發現生成了同樣數量的
#sql-2-tablename#px
的檔案,然后
tablename#px
一個個被洗掉,又一個個加回來
最后臨時檔案都被洗掉了
這是不是意味著只要是磁區操作,就會把所有的資料記錄都重寫一遍……
這個問題很要命啊(我還想著一次分一點兒一次分一點兒,把磁區消耗分攤在不同的時間段里面啊)
求大佬們強行帶我
uj5u.com熱心網友回復:
奇怪的問題又增加了3.有一個表,有資料和主鍵還有索引,磁區欄位smallint已經添加到主鍵,
alter table t1 partition by range(year){
partition p0 values less than (2018),
partition p1 values less than maxvalue
}
操作提示1217錯誤……
在執行前添加了
set foreign_key_checks=0;
還是無法執行
uj5u.com熱心網友回復:
才發現磁區后不能用外鍵約束
4.那在資料量很大的時候,且多個表逐層外鍵約束的時候,為了效率得取消外鍵,那么如何保證資料關聯完整呢?
是在業務邏輯中實作,還是用觸發器啊?
uj5u.com熱心網友回復:
生產中基本是沒有外鍵約束的,外鍵約束由程式來把控。不要外鍵的很重要原因,就是能支持onlineddl。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/8756.html
標籤:MySQL
上一篇:kettle的問題,求解決
下一篇:MySQL int型別位數
