We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CREATE VIEW station_kilo AS SELECT * FROM (SELECT station.*,count(*) AS jointcount FROM station NATURAL JOIN kilo GROUP BY kilo.stationid) NATURAL JOIN kilo;
というViewを現在与えているが、さらにNATURAL JOIN lineしてしまったほうが多分使い勝手はいい(それほど良くなるか?というのは置いておいて。) しかし、自分のThinkPad X40で実行した時には付け加えた時の実行時間の遅さは半端無かった。今自分の手元のマシンで試してみると一瞬で出てきたのだが、これは再考の余地があるかもしれない(例えばたまたま重いプログラムが裏で走ってたとか)。 実際に後で実機で試して見るべき。
NATURAL JOIN line
The text was updated successfully, but these errors were encountered:
line.linename LIKE '東海道'
line NATURAL JOIN ...
line.lineid=69
あと、X201s(Ubuntu 11.10 oneiric)で実行するとCore i7の威力なのかSQLite3のバージョンが3.7.3から3.7.7に上がったからか、めっちゃ早い。
結論としてはどうせlinenameでLIKEするうっかりさんはいるんだから最初からlineも結合しておけば便利なんじゃねという感じ。実験用のコードは下に示す。
#!/usr/bin/python # -*- coding: utf-8 -*- import sqlite3 import time DB = sqlite3.connect("ares.sqlite") def lineid(): for i in range(100): cur = DB.execute(u"SELECT * FROM station_kilo NATURAL JOIN line WHERE lineid=69") for i in cur: pass def linename(): for i in range(100): cur = DB.execute(u"SELECT * FROM station_kilo NATURAL JOIN line WHERE linename LIKE '東海道'") for i in cur: pass def get_time(function): begin = time.clock() function() end = time.clock() return end - begin print "lineid: ", get_time(lineid), "sec" print "linename: ", get_time(linename), "sec"
Sorry, something went wrong.
553c36e
No branches or pull requests
というViewを現在与えているが、さらに
NATURAL JOIN line
してしまったほうが多分使い勝手はいい(それほど良くなるか?というのは置いておいて。)しかし、自分のThinkPad X40で実行した時には付け加えた時の実行時間の遅さは半端無かった。今自分の手元のマシンで試してみると一瞬で出てきたのだが、これは再考の余地があるかもしれない(例えばたまたま重いプログラムが裏で走ってたとか)。
実際に後で実機で試して見るべき。
The text was updated successfully, but these errors were encountered: