sqlite使用(python)及性能
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了sqlite使用(python)及性能,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6657字,纯文字阅读大概需要10分钟。
内容图文
该例程是一个由调用光标(cursor)方法创建的中间的光标对象的快捷方式,然后通过给定的参数调用光标的 executescript 方法。
该例程返回自数据库连接打开以来被修改、插入或删除的数据库总行数。
该方法提交当前的事务。如果您未调用该方法,那么自您上一次调用 commit() 以来所做的任何动作对其他数据库连接来说是不可见的。
该方法回滚自上一次调用 commit() 以来对数据库所做的更改。
该方法关闭数据库连接。请注意,这不会自动调用 commit()。如果您之前未调用 commit() 方法,就直接关闭数据库连接,您所做的所有更改将全部丢失!
该方法获取查询结果集中的下一行,返回一个单一的序列,当没有更多可用的数据时,则返回 None。
该方法获取查询结果集中的下一行组,返回一个列表。当没有更多的可用的行时,则返回一个空的列表。该方法尝试获取由 size 参数指定的尽可能多的行。
该例程获取查询结果集中所有(剩余)的行,返回一个列表。当没有可用的行时,则返回一个空的列表。
写入例子:
1 import sqlite3 2 import os,time 3 4 if os.path.exists(‘a.db‘): 5 os.remove(‘a.db‘) 6 7 conn = sqlite3.connect(‘a.db‘) 8 c = conn.cursor() 9 conn.executescript("""CREATE TABLE t_process_machine ( 10 material_name TEXT, 11 machine_name TEXT, 12 process_name TEXT, 13 process_id INTEGER, 14 int03 INTEGER, 15 process_time INTEGER, 16 process_cost REAL, 17 campaign_name TEXT, 18 dest_pos TEXT, 19 int01 INTEGER, 20 float01 REAL, 21 float02 TEXT, 22 float03 TEXT, 23 float04 TEXT, 24 float05 TEXT, 25 float06 TEXT, 26 float07 TEXT, 27 float08 TEXT, 28 float09 TEXT, 29 float10 TEXT, 30 float11 TEXT, 31 float12 TEXT, 32 float13 TEXT, 33 float14 TEXT, 34 float15 TEXT, 35 float16 TEXT, 36 float17 TEXT, 37 float18 TEXT, 38 float19 TEXT, 39 float20 TEXT, 40 int02 INTEGER, 41 int04 INTEGER, 42 int05 INTEGER, 43 int06 TEXT, 44 int07 TEXT, 45 int08 TEXT, 46 int09 TEXT, 47 int10 TEXT, 48 string01 TEXT, 49 string02 TEXT, 50 string03 TEXT, 51 string04 TEXT, 52 string05 TEXT, 53 string06 TEXT, 54 string07 TEXT, 55 string08 TEXT, 56 string09 TEXT, 57 string10 TEXT, 58 string11 TEXT, 59 string12 TEXT, 60 string13 TEXT, 61 string14 TEXT, 62 string15 TEXT, 63 string16 TEXT, 64 string17 TEXT, 65 string18 TEXT, 66 string19 TEXT, 67 string20 TEXT 68 );""") 69 70 # 数据传递到操作系统层后不同步 71 c.execute(‘‘‘PRAGMA synchronous = OFF;‘‘‘) 72 #conn.execute(‘PRAGMA synchronous = OFF;‘) 73 # 关闭日志,因此不进行回滚或原子提交 74 c.execute(‘‘‘PRAGMA journal_mode = OFF;‘‘‘) 75 76 records_data = [] 77 for i in range(80000): 78 records_data.append((‘asdasd‘, ‘asdad‘, ‘asd‘, 1, 0, 1, 1.0, ‘‘, ‘asdadas‘, 1, 1.0, ‘1‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, 9000, 1, 0, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘123123‘, ‘0‘, ‘1‘, ‘0‘, ‘123‘, ‘123‘, ‘123‘, ‘‘, ‘123‘, ‘1001‘, ‘123‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘)) 79 80 start = time.time() 81 c.executemany(‘‘‘INSERT INTO T_PROCESS_MACHINE( 82 MATERIAL_NAME, MACHINE_NAME, PROCESS_NAME, PROCESS_ID, 83 INT03, PROCESS_TIME, PROCESS_COST, CAMPAIGN_NAME, DEST_POS, 84 INT01, FLOAT01, FLOAT02, FLOAT03, FLOAT04, FLOAT05, FLOAT06, FLOAT07, 85 FLOAT08, FLOAT09, FLOAT10, FLOAT11, FLOAT12, FLOAT13, FLOAT14, FLOAT15, 86 FLOAT16, FLOAT17, FLOAT18, FLOAT19, FLOAT20, INT02, INT04, INT05, INT06, 87 INT07, INT08, INT09, INT10, STRING01, STRING02, STRING03, STRING04, STRING05, 88 STRING06, STRING07, STRING08, STRING09, STRING10, STRING11, STRING12, STRING13, 89 STRING14, STRING15, STRING16, STRING17, STRING18, STRING19, STRING20) 90 values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, 91 ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)‘‘‘, records_data); 92 93 94 #c.executemany(‘insert into quotes(code,high,open,low,close,amount,volume) values(?,?,?,?,?,?,?)‘, records_data) 95 96 conn.commit() 97 conn.close() 98 print(time.time() -start)
sqlite写入性能:
性能方面,C++写入性能较低,python 采用execute_many写入最快,另外写入不要写入None字符,写入空字符更快。
C++测试结果
python写入测试
sqlite使用(python)及性能
标签:可见 option 删除 pen time() 获取 import ORC 快捷方式
本文系统来源:https://www.cnblogs.com/feichangnice/p/12900832.html
内容总结
以上是互联网集市为您收集整理的sqlite使用(python)及性能全部内容,希望文章能够帮你解决sqlite使用(python)及性能所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。