全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:6280
推到 Plurk!
推到 Facebook!

Firebird有 TRUNCATE TABLE指令嗎?

答題得分者是:kadee
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-02-11 09:16:33 IP:203.75.xxx.xxx 未訂閱
在網路上找了很久
都只介紹 「DELETE FROM TABLE_NAME」或「DROP TABLE_NAME」

沒有「TRUNCATE TABLE」

難道FB真的沒有這個指令嗎?
kadee
高階會員


發表:11
回覆:141
積分:165
註冊:2002-03-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-02-12 17:56:57 IP:59.127.xxx.xxx 訂閱
用 DELETE FROM TABLE_NAME 不行嗎?
為什麼一定要用 TRUNCATE TABLE ?
===================引 用 GrandRURU 文 章===================
在網路上找了很久
都只介紹 「DELETE FROM TABLE_NAME」或「DROP TABLE_NAME」

沒有「TRUNCATE TABLE」

難道FB真的沒有這個指令嗎?
------
Kadee/BigRed Ent.
www.tw165.com
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-02-12 20:35:16 IP:122.116.xxx.xxx 未訂閱
how about
RECREATE TABLE
------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-02-13 08:21:32 IP:203.75.xxx.xxx 未訂閱
因為用這個指令會很慢的一筆一筆刪
而且不會釋放DB空間
===================引 用 kadee 文 章===================
用 DELETE FROM TABLE_NAME 不行嗎?
為什麼一定要用 TRUNCATE TABLE ?
------------------------------------------------------------------------------------------


這個類似像
「DROP TABLE_NAME」 「CREATE TABLE_NAME」的用法
看來這是在FB中唯一的解
(但這指令仍然不會釋放DB空間)
===================引 用 st33chen 文 章===================
how about
RECREATE TABLE
kadee
高階會員


發表:11
回覆:141
積分:165
註冊:2002-03-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-02-13 16:20:44 IP:59.127.xxx.xxx 訂閱
FB 在刪除紀錄後,並不會釋放DB的檔案大小,
而是會等到需要時,在重複利用。
原因是資料庫每次在新增紀錄時,如果都需要向OS要檔案空間,
是一件浪費資源的動作,而且目前硬碟空間都很大,所有會有這種機制。
再者如果要得到最好的效能,FB方面甚至建議在create DB的時候,
先在一個TABLE中INSERT 大量的紀錄,把資料庫檔案撐大後,再將紀錄刪除。
以後新增紀錄就不用向OS要檔案空間。

===================引 用 GrandRURU 文 章===================
因為用這個指令會很慢的一筆一筆刪
而且不會釋放DB空間
===================引 用 kadee 文 章===================
用 DELETE FROM TABLE_NAME 不行嗎?
為什麼一定要用 TRUNCATE TABLE ?
------------------------------------------------------------------------------------------


這個類似像
「DROP TABLE_NAME」 「CREATE TABLE_NAME」的用法
看來這是在FB中唯一的解
(但這指令仍然不會釋放DB空間)
===================引 用 st33chen 文 章===================
how about
RECREATE TABLE
------
Kadee/BigRed Ent.
www.tw165.com
kadee
高階會員


發表:11
回覆:141
積分:165
註冊:2002-03-20

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-02-14 09:44:58 IP:59.127.xxx.xxx 訂閱
如果真的要把FB中已經刪除紀錄的檔案空間釋放出來,
可以用 backup restore。

===================引 用 kadee 文 章===================
FB 在刪除紀錄後,並不會釋放DB的檔案大小,
而是會等到需要時,在重複利用。
原因是資料庫每次在新增紀錄時,如果都需要向OS要檔案空間,
是一件浪費資源的動作,而且目前硬碟空間都很大,所有會有這種機制。
再者如果要得到最好的效能,FB方面甚至建議在create DB的時候,
先在一個TABLE中INSERT 大量的紀錄,把資料庫檔案撐大後,再將紀錄刪除。
以後新增紀錄就不用向OS要檔案空間。

===================引 用 GrandRURU 文 章===================
因為用這個指令會很慢的一筆一筆刪
而且不會釋放DB空間
===================引 用 kadee 文 章===================
用 DELETE FROM TABLE_NAME 不行嗎?
為什麼一定要用 TRUNCATE TABLE ?
------------------------------------------------------------------------------------------


這個類似像
「DROP TABLE_NAME」 「CREATE TABLE_NAME」的用法
看來這是在FB中唯一的解
(但這指令仍然不會釋放DB空間)
===================引 用 st33chen 文 章===================
how about
RECREATE TABLE
------
Kadee/BigRed Ent.
www.tw165.com
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-02-16 13:04:54 IP:203.75.xxx.xxx 未訂閱
其實,就算不釋放空間也無所謂(現在的硬碟都這麼大)

但是如果因為變大而讓效率變差…
FB 1.5.5 在增大之後,我每次開啟應用程式,硬碟就開始在置換空間,而每寫一筆資料要5~10秒
這實在是慢的誇張,我可是用單機版的咧!

但用最新的 2.1.1倒是沒這方面的問題,難道是DB Driver有差?

===================引 用 kadee 文 章===================
如果真的要把FB中已經刪除紀錄的檔案空間釋放出來,
可以用 backup restore。

===================引 用 kadee 文 章===================
FB 在刪除紀錄後,並不會釋放DB的檔案大小,
而是會等到需要時,在重複利用。
原因是資料庫每次在新增紀錄時,如果都需要向OS要檔案空間,
是一件浪費資源的動作,而且目前硬碟空間都很大,所有會有這種機制。
再者如果要得到最好的效能,FB方面甚至建議在create DB的時候,
先在一個TABLE中INSERT 大量的紀錄,把資料庫檔案撐大後,再將紀錄刪除。
以後新增紀錄就不用向OS要檔案空間。

===================引 用 GrandRURU 文 章===================
因為用這個指令會很慢的一筆一筆刪
而且不會釋放DB空間
===================引 用 kadee 文 章===================
用 DELETE FROM TABLE_NAME 不行嗎?
為什麼一定要用 TRUNCATE TABLE ?
------------------------------------------------------------------------------------------


這個類似像
「DROP TABLE_NAME」 「CREATE TABLE_NAME」的用法
看來這是在FB中唯一的解
(但這指令仍然不會釋放DB空間)
===================引 用 st33chen 文 章===================
how about
RECREATE TABLE
kadee
高階會員


發表:11
回覆:141
積分:165
註冊:2002-03-20

發送簡訊給我
#8 引用回覆 回覆 發表時間:2009-02-16 17:09:45 IP:59.127.xxx.xxx 訂閱
我用FB開發客戶的ERP也近8年,沒有你說的情形,
或者我可以幫你瞭解一下,請直接用電話或是skype和我聯絡。

我的聯絡方式, www.bigredinf.net
===================引 用 GrandRURU 文 章===================
其實,就算不釋放空間也無所謂(現在的硬碟都這麼大)

但是如果因為變大而讓效率變差…
FB 1.5.5 在增大之後,我每次開啟應用程式,硬碟就開始在置換空間,而每寫一筆資料要5~10秒
這實在是慢的誇張,我可是用單機版的咧!

但用最新的 2.1.1倒是沒這方面的問題,難道是DB Driver有差?

===================引 用 kadee 文 章===================
如果真的要把FB中已經刪除紀錄的檔案空間釋放出來,
可以用 backup restore。

===================引 用 kadee 文 章===================
FB 在刪除紀錄後,並不會釋放DB的檔案大小,
而是會等到需要時,在重複利用。
原因是資料庫每次在新增紀錄時,如果都需要向OS要檔案空間,
是一件浪費資源的動作,而且目前硬碟空間都很大,所有會有這種機制。
再者如果要得到最好的效能,FB方面甚至建議在create DB的時候,
先在一個TABLE中INSERT 大量的紀錄,把資料庫檔案撐大後,再將紀錄刪除。
以後新增紀錄就不用向OS要檔案空間。

===================引 用 GrandRURU 文 章===================
因為用這個指令會很慢的一筆一筆刪
而且不會釋放DB空間
===================引 用 kadee 文 章===================
用 DELETE FROM TABLE_NAME 不行嗎?
為什麼一定要用 TRUNCATE TABLE ?
------------------------------------------------------------------------------------------


這個類似像
「DROP TABLE_NAME」 「CREATE TABLE_NAME」的用法
看來這是在FB中唯一的解
(但這指令仍然不會釋放DB空間)
===================引 用 st33chen 文 章===================
how about
RECREATE TABLE
------
Kadee/BigRed Ent.
www.tw165.com
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#9 引用回覆 回覆 發表時間:2009-02-17 10:36:28 IP:203.75.xxx.xxx 未訂閱
感謝 kadee 大的熱心幫忙
我猜可能只是 DBX 1.0 跟 Firebird 1.5.5 不太相容的關係吧

我沒有用過IBO或是IBX,用FB emd只是想說轉Oracle or MySQL時會更方便
所以才想讓DBX來取代BDE 的 paradox

再次謝謝 kadee 大大~~~~ :D

===================引 用 kadee 文 章===================
我用FB開發客戶的ERP也近8年,沒有你說的情形,
或者我可以幫你瞭解一下,請直接用電話或是skype和我聯絡。
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#10 引用回覆 回覆 發表時間:2009-07-15 15:14:06 IP:203.75.xxx.xxx 未訂閱
這個指令應該會在2.5版中加入吧?
看起來也有很多人在反應這個問題
主要的原因是在於delete from table時會觸發trigger

只要不讓fb觸發trigger就行!
所以有這底下這篇的做法
TRUNCATE TABLE in Firebird

雖然知道做法,但好像還是無法加到db中,所以還是只能等新版推出?
系統時間:2024-03-29 2:09:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!