MariaDB [test]> EXPLAIN SELECT `game_id`, count(`game_id`) FROM `basicdata` WHERE `timestamp` = '2012-04-15' GROUP BY `game_id`\G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: basicdata
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 3071957
Extra: Using where; Using temporary; Using filesort
1 row in set (0.00 sec)
MariaDB [test]> CREATE INDEX `index_1` ON `basicdata` (`timestamp`, `game_id`);
Query OK, 3071957 rows affected (26.18 sec)
Records: 3071957 Duplicates: 0 Warnings: 0
MariaDB [test]> EXPLAIN SELECT `game_id`, count(`game_id`) FROM `basicdata` WHERE `timestamp` = '2012-04-15' GROUP BY `game_id`\G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: basicdata type: ref
possible_keys: index_1
key: index_1
key_len: 8
ref: const
rows: 44
Extra: Using where; Using index
1 row in set (0.00 sec)
特地给你建了一个环境试的。
#27 楼 @bobby_chen 不好意思我爪机看不到 timestamp 上的索引。回头用电脑看。
四要基于三吧。 另外 cancan 我没用过所以没法说了…
三,用户可以自主创建表单
其实挺麻烦的
#22 楼 @bobby_chen 你这样不加索引真的大丈夫
:thumbsup: Nice gem
所有你觉得有所谓的东西都应该写入需求文档里。
比如说登录功能,如果你不写的话,可能会做成「用户名密码登录」或者「邮箱密码登录」或者「新浪微博登录」或者「谷歌账号登录」等等。如果你想具体要求,那就必须写明,「我需要邮箱密码登录和新浪微博登录」,这样子。
界面也是。功能也是。凡是你觉得有所谓的东西,都要写进需求里。
之前看日本工作外包出来的需求分析,连界面上每个按钮和输入框的位置大小都会定好,示意图画好,然后分析每一个组件的操作。
你 user model 创建了吗?
另外,请善用 Linux
除了安装方便以外还有啥好处……
gem 'bootstrap-sass', '~> 3.2.0'
至于覆盖?修改 sass 变量即可。找到 gem 里对应项目的变量,然后直接在 sass/scss 改掉。
我猜是浏览器的错?
Game 与 team 之间是多对多的关系吧,用关系表来做是不是更好?
因为 '.*' 会扩展成 ['.', '..', '.XXX'] 所以会把自己删掉。
bash 和 dash 似乎都会扩展,而 zsh 又好像没有。你可以仔细研究一下……
#13 楼 #16 楼 @hooopo hit 到 rails stack 就已经很慢了。
nginx+lua+redis 你们可以试试,我测下来性能很好,200qps 下 cpu 占用动都不动……
然后另一边程序部分每几秒钟,或者用 cron 每分钟,从 redis 抓一批数据下来统计进数据库就好了。
或者如果统计结构很简单的话,直接让 lua 做完统计写入数据库就好了。
顺便 at 你: #14 楼 @cisolarix
很快,真的。 如果你嫌慢,多数是因为配置太差造成的。 美国的 VPS/主机,最少也是百兆口,好点的千兆以上。突然换成 1m 的网络,慢很正常。