Здесь происходит несколько довольно неэффективных вещей.Во-первых, он генерирует 1000 user
объектов, что не очень хорошая идея сделать в одном запросе в ColdFusion.Во-вторых, он выполняет 1000 запросов к базе данных, что не очень хорошая идея для любого языка программирования.
Я бы прекратил использовать объекты модели для подобного случая и выяснил, как сжать логику водин запрос к базе данных.ORM в Wheels, как правило, очень полезен, но имеет ограничения в таких ситуациях, как эта.
Например, если вы используете SQL Server 2008, вы можете сделать это внутри вашей user
модели, чтобыдержите все под одним вызовом cfquery
:
<cffunction name="batchCreate">
<cfquery datasource="#get('dataSourceName')#">
INSERT INTO
#this.tableName()# (#this.columnNameForProperty("name")#)
VALUES
<cfloop from="1" to="10000" index="i">
(<cfqueryparam cfsqltype="cf_sql_varchar" value="Test#i#">)
<cfif i lt 10000>,</cfif>
</cfloop>
</cfquery>
</cffunction>
Конечно, запрос будет выглядеть иначе, если вы используете MySQL или другой механизм базы данных.