Pyodbc在桌子上慢了一百万+行

时间:2017-06-28 11:34:34

标签: python python-2.7 pyodbc

问题是当使用 pyodbc 查询我的数据库时,返回我的数据可能需要大约一分钟。我的数据库中的这个表徘徊在一百万行左右。我怎样才能加快速度呢?我已经尝试为表中的主列设置值,但仍然很慢。我也试过限制返回的数据无济于事。还有其他更快的东西,或者我可以改变一些东西来加快速度吗?任何帮助将不胜感激!

这是我的代码:

async createDatabase(): Promise<SQLiteObject> {

        this.sqlite.create({
            name: this.dbName,
            location: this.dbLocation
        }).then( (db: SQLiteObject) => {
            // Insert all tables.
            let createTableParam: string = `CREATE TABLE IF NOT EXISTS param (name PRIMARY KEY NOT NULL, value TEXT)`;
            let createTableNews: string = `CREATE TABLE IF NOT EXISTS news (id PRIMARY KEY NOT NULL,title TEXT,
                content TEXT, image TEXT, date DATE)`;

            db.transaction(tx => {
                    tx.executeSql(createTableParam);
                    tx.executeSql(createTableNews);
                    // Add here more tables to create if needed
                }
            )
                .then( () => {
                    console.log('Tables were created');
                    this.isActive = true;
                })
                .catch(error => {
                    console.log(`Error creating tables - ${error}`);
                });
        }).catch(
            error => console.log(`Error at SQLite initialization - ${error}`)
        );
    }

1 个答案:

答案 0 :(得分:0)

基本上由于桌面设计不佳,这不是Pyodbc问题。故事设计表的道德更好。