Drupal系統A/B Test解決方案

歸類于Drupal 2 條評論

引言

本文是我在工作中遇到A/B Test的需求,經過幾天的研究的一篇心得筆記,不一定多專業,希望能給有類似需求的同行一些參考和靈感,在學習的過程中,也發現一些比較優秀的國外博文,我打算在近期翻譯幾篇,而不是把只言片語融入到本文當中,本文的重點仍然是drupal A/B Test的解決方案,介紹性的文字來源于最近幾天的學習心得,是給不熟悉A/B Test的同行的一些入門介紹。

閱讀全文 《Drupal系統A/B Test解決方案》

2,173 Views , , ,

MYSQL獲取隨機結果集的解決方案

歸類于數據庫技術 一條評論

在我們的業務需求當中,經常有需要取得隨機結果的需求,比如隨機會員,隨機文章列表,隨機文章跳轉等等,我們大家都知道MYSQL的ORDER BY RAND()有性能問題,本文翻譯自國外的一篇博文,大家來學習一下作者是如何解決這個問題的,這個解決方案具有在生產環境中實施的可行性。

譯文開始:

作為第一個例子,我們假設數據的ID從1開始,并且在1和最大值之間是連續的。

把事情交給應用層(PHP, JSP, Python, Ruby …)

第一個思路:我們可以簡化整個工作,如果我們可以預先在應用層計算出隨機ID

SELECT MAX(id) FROM random;
## 在應用層生成隨機ID <random-id>
SELECT name FROM random WHERE id = <random-id>

因為MAX(id) == COUNT(id), 我們僅僅是在1和最大值之間生成了隨機數,然后傳給數據庫取出隨機記錄。

第一個SELECT是已經被優化好的,不需要任何計算。第二個是eq_ref(參見MYSQL EXPLAN語句)是一個常量,所以也非常快。

把事情交給數據庫

在應用層做這件事真的是必要的么?我們不能在數據庫中做么?
閱讀全文 《MYSQL獲取隨機結果集的解決方案》

2,983 Views , , , ,

頂部
四川时时彩投注平台