很多时候,当试图提出一个高效的数据库设计时,最好的做法是建立两个示例数据库,用数据填充它们,然后对它们运行一些查询,看看哪个性能更好。
是否有一种工具可以相对快速地生成(最好直接进入数据库)大型(约 10,000 条记录)测试数据集?我正在寻找至少适用于 MySQL 的东西。
最近,我试图创建一个包含通用测试数据对于一些大型的串这里的一个问题。似乎我曾经知道一种乘法字符串的方法。但是,我已经记不起语法了。
我正在寻找类似的东西:
SELECT 'A' + ('a' * 1000) + 'ha!'
Run Code Online (Sandbox Code Playgroud)
想出“Aaaaaaaaaaaaaaha!” (嗯,当然要长得多。)
这在 T-SQL 中可能吗?(或者我在想其他语言吗?)另外,还有其他技术可以生成大字符串吗?
我将填充每加仑英里数 (MPG) 表。它来自里程表源。
目前设置如下:
id (primary_key)
, truck_num
, start_date
, end_date
, start_miles
, end_miles
, start_fuel
, end_fuel
, miles
, gals
, mpg
Run Code Online (Sandbox Code Playgroud)
似乎有一些冗余。的miles是 (end_miles - start_miles),对于同上gals。
我们应该预先计算这些miles和gals列并存储在数据库中吗?它肯定会使查询更容易,但会牺牲空间。mpg计算相同的问题。计算列会减慢速度,不是吗?
什么索引最有效?每周大约有 3,000 辆卡车(记录)成批插入。
我正在使用 SQL Server 2008 R2。
编辑:我将使用的示例查询
-- find average mpg for since ytd
select m.truck_num, avg(mpg)
from mpg m
join truck t on t.truck_num = m.truck_num
where start_date >= @begin_of_year and end_date <= @today
group …Run Code Online (Sandbox Code Playgroud)