Tag: 性能

MyISAM与InnoDB

我正在处理一个涉及很多数据库写入的项目,我会说( 70%的插入和30%的读取 )。 这个比例还将包括我认为是一个阅读和一个写作的更新。 读取可能很脏(例如,在阅读时我不需要100%准确的信息)。 有关任务将每小时进行超过100万次的数据库事务。 我在网上读了一大堆关于MyISAM和InnoDB之间差异的东西,MyISAM似乎是我将用于这个任务的特定数据库/表的显而易见的select。 从我看来,InnoDB是好的,如果事务是需要的,因为行级locking是支持的。 有没有人有这种types的负载(或更高)的经验? MyISAM是否要走?

数据库索引如何工作?

鉴于索引是如此重要,因为你的数据集增加的大小,有人可以解释如何索引工作在数据库无关的水平? 有关查询索引字段的信息,请查看如何索引数据库列 。

如何提高这个代码的性能?

感谢来自这里的人们的帮助,我能够得到我的塔斯马尼亚骆驼拼图代码工作。 然而,这是非常慢的(我想,我不确定,因为这是我的第一个Python程序)。 运行在代码底部的例子需要很长时间才能在我的机器上解决: dumrat@dumrat:~/programming/python$ time python camels.py [['F', 'F', 'F', 'G', 'B', 'B', 'B'], ['F', 'F', 'G', 'F', 'B', 'B', 'B'], ['F', 'F', 'B', 'F', 'G', 'B', 'B'], ['F', 'F', 'B', 'F', 'B', 'G', 'B'], ['F', 'F', 'B', 'G', 'B', 'F', 'B'], ['F', 'G', 'B', 'F', 'B', 'F', 'B'], ['G', 'F', 'B', 'F', 'B', 'F', […]

Pythonstring格式:%与.format

Python 2.6引入了str.format()方法,其语法与现有的%运算符略有不同。 哪个更好,哪些情况? 以下使用每种方法,并有相同的结果,所以有什么区别? #!/usr/bin/python sub1 = "python string!" sub2 = "an arg" a = "i am a %s" % sub1 b = "i am a {0}".format(sub1) c = "with %(kwarg)s!" % {'kwarg':sub2} d = "with {kwarg}!".format(kwarg=sub2) print a # "i am a python string!" print b # "i am a python string!" print c […]

什么使得SQL语句变得可行?

根据定义(至less从我看到的)sargable意味着查询能够使查询引擎优化查询使用的执行计划。 我已经试过寻找答案,但似乎没有太多的主题。 所以问题是,什么做或不做一个SQL查询sargable? 任何文件将不胜感激。 供参考: Sargable

提高SQLite的每秒插入性能?

优化SQLite是棘手的。 C应用程序的批量插入性能可以从每秒85次插入到每秒超过96,000次插入! 背景:我们正在使用SQLite作为桌面应用程序的一部分。 我们有大量的configuration数据存储在XML文件中,这些数据被parsing并加载到SQLite数据库中,以便在初始化应用程序时进一步处理。 SQLite对于这种情况非常理想,因为它速度很快,不需要专门的configuration,数据库作为单个文件存储在磁盘上。 理由: 最初,我对我所看到的performance感到失望。 事实certificate,SQLite的性能可能会有很大的不同(对于批量插入和select),这取决于数据库的configuration方式以及如何使用API​​。 找出所有的select和技巧并不是一件简单的事情,所以我认为创build这个社区维基条目与Stack Overflow读者分享结果是很谨慎的,以便为其他人省去相同调查的麻烦。 实验:我不是简单地谈论一般意义上的性能提示(即“使用事务!” ),而是最好编写一些C代码并实际测量各种选项的影响。 我们将从一些简单的数据开始: 多伦多市全部交通时间表的28 MB TAB分隔文本文件(约865,000条logging) 我的testing机器是运行Windows XP的3.60 GHz P4。 该代码与Visual C ++ 2005一起编译为“发布”,具有“完全优化”(/ Ox)和优先快速代码(/ Ot)。 我正在使用SQLite“Amalgamation”,直接编译到我的testing应用程序。 SQLite版本我碰巧有一点老(3.6.7),但我怀疑这些结果将是相当于最新版本(请留下评论,如果你不这么认为)。 我们来写一些代码! 代码:一个简单的C程序,逐行读取文本文件,将string拆分为值,然后将数据插入到SQLite数据库中。 在这个“基准”版本的代码中,数据库被创build,但是我们不会实际插入数据: /************************************************************* Baseline code to experiment with SQLite performance. Input data is a 28 MB TAB-delimited text file of the complete Toronto Transit System schedule/route […]

计数(*)与计数(1)

只是想知道你们中的任何一个人是否使用Count(1)不是Count(*)并且如果在性能上有明显的差别,或者这只是从过去的日子中提出的遗留习惯? (具体的数据库是SQL Server 2005.)

如何在MySQL中插入“如果不存在”?

我开始用googlesearch,并find了这篇谈论互斥表的文章 。 我有一张约有1400万条logging的表格。 如果我想以相同的格式添加更多的数据,有没有办法确保我想要插入的logging不存在,而不使用一对查询(即,一个查询来检查和一个插入是结果集是空)? 一个字段上的unique约束是否保证insert将失败,如果它已经在那里? 似乎只有一个约束,当我通过php发出插入,剧本呱呱叫。

你怎么能描述一个脚本?

欧拉项目和其他编码竞赛往往有最长的时间来运行,或者人们吹嘘自己的解决scheme运行得有多快。 使用python,有时这些方法有点奇怪 – 即将计时代码添加到__main__ 。 什么是一个好方法来分析一个python程序需要运行多久?

在Java中toString()中的StringBuilder vsstring连接

鉴于下面的2 toString()实现,哪一个是首选的: public String toString(){ return "{a:"+ a + ", b:" + b + ", c: " + c +"}"; } 要么 public String toString(){ StringBuilder sb = new StringBuilder(100); return sb.append("{a:").append(a) .append(", b:").append(b) .append(", c:").append(c) .append("}") .toString(); } ? 更重要的是,由于我们只有3个属性可能没有什么区别,但是在什么时候你会从+ concat切换到StringBuilder ?