mysql> select count(*) from id_renewal ;
+----------+
| count(*) |
+----------+
| 13633246 |
+----------+
执行输出需要 10 多分钟。这可以在服务器参数中进行调整吗?由于我应该每小时运行一次此查询以获取报告,因此查询需要 10 分钟对于我的业务人员来说是不可行的...
有没有像在 oracle 中那样在内存中保留的选项?
mysql> show variables like '%cache%';
+------------------------------+----------------------+
| Variable_name | Value |
+------------------------------+----------------------+
| binlog_cache_size | 32768 |
| have_query_cache | YES |
| key_cache_age_threshold | 300 |
| key_cache_block_size | 1024 |
| key_cache_division_limit | 100 |
| max_binlog_cache_size | 18446744073709547520 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 134217728 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| table_definition_cache | 512 |
| table_open_cache | 2048 |
| thread_cache_size | 16 |
+------------------------------+----------------------+
14 rows in set (0.00 sec)
mysql> show global status like '%Qc%';
+-------------------------+-----------+
| Variable_name | Value |
+-------------------------+-----------+
| Qcache_free_blocks | 118 |
| Qcache_free_memory | 133367960 |
| Qcache_hits | 71077421 |
| Qcache_inserts | 137390744 |
| Qcache_lowmem_prunes | 18066 |
| Qcache_not_cached | 120209332 |
| Qcache_queries_in_cache | 427 |
| Qcache_total_blocks | 990 |
+-------------------------+-----------+
mysql> select count(*) from idea_sub_renewal ;
+----------+
| count(*) |
+----------+
| 13633246 |
+----------+
top - 17:40:19 up 148 days, 17:51, 10 users, load average: 0.83, 0.91, 1.00
Tasks: 257 total, 1 running, 251 sleeping, 0 stopped, 5 zombie
Cpu(s): 2.0%us, 0.6%sy, 0.0%ni, 97.1%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 8167348k total, 8124120k used, 43228k free, 33928k buffers
Swap: 16386260k total, 709864k used, 15676396k free, 4615456k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
26329 sym 19 0 1195m 64m 7456 S 13.3 0.8 66:34.40 java
12079 mysql 15 0 1725m 463m 4840 S 6.3 5.8 24227:57 mysqld
477 sym 18 0 674m 62m 7260 S 1.0 0.8 2:25.59 java
26948 powerdev 16 0 12896 1232 824 S 0.7 0.0 0:07.90 top
18843 sym 19 0 1271m 494m 7364 S 0.3 6.2 10:19.89 java
26379 sym 21 0 1203m 299m 7464 S 0.3 3.8 1:36.90 java
29872 sym 18 0 1238m 869m 7816 S 0.3 10.9 7:42.33 java
最佳答案
InnoDB COUNT() 对百万行的表运行缓慢。但是,如果您不使用 WHERE,则可以使用 hack 来查看表中有多少行 - 使用 EXPLAIN。
mysql> explain select count(1) from history;
+----+-------------+---------+-------+---------------+-----------+---------+------+----------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------+-------+---------------+-----------+---------+------+----------+-------------+
| 1 | SIMPLE | history | index | NULL | history_1 | 12 | NULL | 17227419 | Using index |
+----+-------------+---------+-------+---------------+-----------+---------+------+----------+-------------+
1 row in set (0.01 sec)
在“行”列中,您可以看到行数。
关于mysql count(*) 需要很长时间?有更好的选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11374913/
当我使用Bundler时,是否需要在我的Gemfile中将其列为依赖项?毕竟,我的代码中有些地方需要它。例如,当我进行Bundler设置时:require"bundler/setup" 最佳答案 没有。您可以尝试,但首先您必须用鞋带将自己抬离地面。 关于ruby-我需要将Bundler本身添加到Gemfile中吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4758609/
我注意到像bundler这样的项目在每个specfile中执行requirespec_helper我还注意到rspec使用选项--require,它允许您在引导rspec时要求一个文件。您还可以将其添加到.rspec文件中,因此只要您运行不带参数的rspec就会添加它。使用上述方法有什么缺点可以解释为什么像bundler这样的项目选择在每个规范文件中都需要spec_helper吗? 最佳答案 我不在Bundler上工作,所以我不能直接谈论他们的做法。并非所有项目都checkin.rspec文件。原因是这个文件,通常按照当前的惯例,只
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
“输出”是一个序列化的OpenStruct。定义标题try(:output).try(:data).try(:title)结束什么会更好?:) 最佳答案 或者只是这样:deftitleoutput.data.titlerescuenilend 关于ruby-on-rails-更好的替代方法try(:output).try(:data).try(:name)?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c
我收到格式为的回复#我需要将其转换为哈希值(针对活跃商家)。目前我正在遍历变量并执行此操作:response.instance_variables.eachdo|r|my_hash.merge!(r.to_s.delete("@").intern=>response.instance_eval(r.to_s.delete("@")))end这有效,它将生成{:first="charlie",:last=>"kelly"},但它似乎有点hacky和不稳定。有更好的方法吗?编辑:我刚刚意识到我可以使用instance_variable_get作为该等式的第二部分,但这仍然是主要问题。
状态:我正在构建一个应用程序,其中需要一个可供用户选择颜色的字段,该字段将包含RGB颜色代码字符串。我已经测试了一个看起来很漂亮但效果不佳的。它是“挑剔的颜色”,并托管在此存储库中:https://github.com/Astorsoft/picky-color.在这里我打开一个关于它的一些问题的问题。问题:请建议我在Rails3应用程序中使用一些颜色选择器。 最佳答案 也许页面上的列表jQueryUIDevelopment:ColorPicker为您提供开箱即用的产品。原因是jQuery现在包含在Rails3应用程序中,因此使用基
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Rubysyntaxquestion:Rational(a,b)andRational.new!(a,b)我正在阅读ruby镐书,我对创建有理数的语法感到困惑。Rational(3,4)*Rational(1,2)产生=>3/8为什么Rational不需要new方法(我还注意到例如我可以在没有new方法的情况下创建字符串)?
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or
我希望用户从一个模型的三个选项中选择一个。即我有一个模型视频,可以被评为正面/负面/未知目前我有三列bool值(pos/neg/unknown)。这是处理这种情况的最佳方式吗?为此,表单应该是什么样的?目前我有类似的东西但显然它允许多项选择,而我试图将它限制为只有一个..怎么办? 最佳答案 如果要使用字符串列,让我们说rating。然后在你的表单中:#...#...它只允许一个选择编辑完全相同但使用radio_button_tag: 关于ruby-on-rails-Rails单选按钮-模
我需要用任何语言编写一个算法,根据3个因素对数组进行排序。我以度假村为例(如Hipmunk)。假设我想去度假。我想要最便宜的地方、最好的评论和最多的景点。但是,显然我找不到在所有3个中都排名第一的方法。Example(assumingthereare20importantattractions):ResortA:$150/night...98/100infavorablereviews...18of20attractionsResortB:$99/night...85/100infavorablereviews...12of20attractionsResortC:$120/night