【发布时间】:2011-12-26 18:47:03
【问题描述】:
我正在编写一个脚本来将 csv 导入 MySQL。 csv 将具有可变数量的字段、不同的数据类型和字段大小。
我目前的计划是通过 csv 并收集有关它的统计信息以通知 MySQL CREATE TABLE 查询。
我的想法是创建一个这种格式的数组:
$csv_table_data = array(
['columns'] => array(
[0] => array(
['min_size'] = int,
['max_size'] = int,
['average'] = int
['type'] = string
),
[1] => array(
['min_size'] = int,
['max_size'] = int,
['average'] = int
['type'] = string
),
[2] => array(
['min_size'] = int,
['max_size'] = int,
['average'] = int
['type'] = string
),
),
['some_other_data'] = array()
);
因此,通过访问 $csv_table_data['columns'][$i] 我可以访问每列的属性并使用它来创建 MySQL 表。除了 $csv_table_data['columns'] 我还有其他数据,例如 total_rows、number_of_fields,并且可能会添加更多。
我可以一次收集所有这些数据,创建适当的表,然后在第二次进行填充。
我没有使用太多面向对象的编程,但是对于所有这些数据,我是否应该考虑创建一个具有这些不同属性的对象,而不是创建这个复杂的数组?
您如何看待它的可读性、可维护性、执行速度以及您想到的任何其他考虑因素?
谢谢
【问题讨论】: