引越しでおトクなインターネット回線は?>>

全部で100万行のテーブル(tとする)を取り込むのに
(例えばcreate table t(id int,name text,address text);のデータ)
select * from t;
とすると時間がかかります
これを早くするコマンドはないでしょうか?
最後にはとったデータの各行を加工してファイルにします

A 回答 (3件)

100万行のデータをすべて表示するのですから


遅くて当然ですよね?
必要なレコードが限られているならWHEREで
絞り込んで、必要なフィールドが限られているなら
*をつかわず、使うものだけ選んでください。

各行を加工してファイルにするとしても、
100万ファイルつくるのでしょうか?
そちらはシステム的にかなり無理がありそうですね。
    • good
    • 0
この回答へのお礼

ありがごうございます

お礼日時:2006/06/29 16:42

加工するのなら SELECT でやってしまうのが


てっとりばやいのではないですかね

たとえば

SELECT CONCAT(id,',',name,',',address)
FROM t ;

とすればカンマ区切りで取り出したり出来ます。
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2006/06/29 16:44

がると申します。


とりあえず、SELECT *は何があろうともやってはいけません。create table文に依存してしまうので。
ですので、どんなに面倒でも、
select id, name, address
と記述してください。

蛇足ではありますが。
    • good
    • 0
この回答へのお礼

ありがとうございます
*を使わない方がいいのですね

お礼日時:2006/06/29 16:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング