我有一个简单的表(由 django 创建)-引擎 InnoDB:
+-------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| correlation | double | NO | | NULL | |
| gene1_id | int(10) unsigned | NO | MUL | NULL | |
| gene2_id | int(10) unsigned | NO | MUL | NULL | |
+-------------+------------------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)
该表有超过4.11 亿行。(目标表将有大约461M行,21471*21470行)
我的主要查询如下所示,最多可能指定 10 个基因。
SELECT gene1_id, AVG(correlation) …
Run Code Online (Sandbox Code Playgroud) 我需要编写将根据指定的选项格式化值的代码.
现在可以选择几种格式化选项:使用指定的精度舍入/截断数字,添加前缀(例如$)或后缀(例如%),分组数千(应用逗号),添加数字缩写(KMB).
因此,例如,数字1857可以显示为$ 2K或$ 1.86K或$ 1,867
起初我考虑过使用Decorator模式,但我不确定,因为格式化程序应该按特定顺序应用,例如,首先我需要应用KMB转换:1857 - > 1.857 K,然后将其舍入1.86 K.
你有什么建议吗?
谢谢,matali