如何同时将多条记录插入到一​​个表中? [英] How do you insert multiple records into a table at the same time?

查看:37
本文介绍了如何同时将多条记录插入到一​​个表中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个表 AccommodationFacility,它们与第三个表 Accommodation_facility 以多对多关系连接.

I have two tables Accommodation and Facility, which are connected in a many-to-many relationship with a third table, Accommodation_facility.

  • 住宿(accommodation_id、住宿类型、名称)
  • 设施(facility_id、facility_name)
  • Accommodation_facility(accommodation_idfacility_id)
  • Accommodation (accommodation_id, accommodation_type, name)
  • Facility (facility_id, facility_name)
  • Accommodation_facility (accommodation_id, facility_id)

使用 Yii,如何在 Accomodation_facility 表中插入多条数据记录?

Using Yii, how can you insert multiple records of data into the Accomodation_facility table?

推荐答案

使用循环插入非常慢.假设您有 5000 行要插入,这样大约需要 6 分钟(为每条记录单独插入).最好使用单个查询插入数据:

Inserting using a loop is very slow. Let's say you have 5000 rows to insert, it's going to take around 6 minutes that way (separate insert for each record). It's better to insert the data with a single query:

$values = '(null, "your string"), (null, "next string"), (null, "third string")';
$sql = 'INSERT INTO table_data (id, data) VALUES ' . $values;
$command = Yii::app()->db->createCommand($sql);
$command->execute();

这将花费 1/10 的时间.

That will take 1/10 of the time.

这篇关于如何同时将多条记录插入到一​​个表中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆