की तुलना में SQLSte क्वेरी RSqlite के माध्यम से बहुत धीमी है, मैं स्थानीय SQLite डेटाबेस से क्वेरी बनाने के लिए RSQLite पैकेज का उपयोग कर रहा हूं, और कुछ प्रश्नों के लिए RSQLite इंटरफ़ेस काफी धीमा है।एसक्यूएलआईटी 3 कमांड लाइन इंटरफ़ेस
एक विशिष्ट उदाहरण के रूप में, निम्न क्वेरी एक दूसरे के नीचे ले जाता है sqlite3 कमांड लाइन उपयोगिता का उपयोग चलाने के लिए:
$ sqlite3 data/svn.db
SQLite version 3.7.5
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select count(distinct svn_path.revision) FROM src INNER JOIN svn_path ON src.filename=svn_path.path;
5039
लेकिन आर में बराबर क्वेरी दो मिनट से कुछ अधिक समय लेता है और की 100% का उपयोग करता है मेरे सीपीयू में से एक:
> library(RSQLite)
Loading required package: DBI
> con <- dbConnect(SQLite(), dbname="data/svn.db")
> dbGetQuery(con, "select count(distinct svn_path.revision) FROM src INNER JOIN svn_path ON src.filename=svn_path.path")
count(distinct svn_path.revision)
1 5039
आर इंटरफ़ेस के माध्यम से प्रदर्शन इतना धीमा क्यों है?
ध्यान दें कि मैक ओएस एक्स 10.6.6 पर मैं R64 2.10.1 का उपयोग कर रहा हूं।
क्या आप सुनिश्चित हैं कि क्वेरी को सर्वर पर कैश नहीं किया गया था जब आप इसे कमांड लाइन के माध्यम से चलाते थे? –
@ डैनियल डिकिसन: SQLite का कोई सर्वर नहीं है। – Benoit
शायद आरएसक्लाइट लाइब्रेरी शैल (3.7.5) की तुलना में एक ही इंजन संस्करण नहीं है। – Benoit