ReactJS 是通过道具传递对象或每次从数据库中读取性能更高
ReactJS Is passing objects via props or reading every time from database more performant
我有一个 ReactJS 项目,我想知道什么更高效:
假设我有一个索引页面,其中有 3 个组件,每个组件都需要来自数据库的数据才能显示和编辑。我可以做以下任何一项。
选项 1
pages/index.js: pass primary key to component1, component2, component3
component1: read data from database with primary key
component2: read data from database with primary key and some additional joins
component3: read data from database with primary key and use only part of the data
选项 2
pages/index.js: read data from database with primary key (and some additional joins)
component1: pass data via props
component2: pass joined data via props
component3: pass part of data via props
您认为哪个选项比 运行 更高效?或者还有更好的选择吗?
我假设第一个在 运行 时间内更快,但会产生额外的数据库请求成本。第二个在数据库上更轻,但不确定您可以通过道具传递的对象的最大大小是多少。我的假设正确吗?
同时衡量两者,看看哪一个表现更好。我认为第二种选择传递道具要快得多。我很确定由多个数据库命中造成的瓶颈不可能与 javascript 对象的大小相提并论。
简而言之,选择第二个选项。
我认为选项 2 会快得多。在选项 1 中,您正在发出大量请求,这会使服务器(数据库)性能低下。正如你所说你正在使用react js,你可以使用react-redux。从数据库中获取数据并将其存储在 redux 存储中。现在您可以在项目中的任何地方使用它了。
我有一个 ReactJS 项目,我想知道什么更高效:
假设我有一个索引页面,其中有 3 个组件,每个组件都需要来自数据库的数据才能显示和编辑。我可以做以下任何一项。
选项 1
pages/index.js: pass primary key to component1, component2, component3
component1: read data from database with primary key
component2: read data from database with primary key and some additional joins
component3: read data from database with primary key and use only part of the data
选项 2
pages/index.js: read data from database with primary key (and some additional joins)
component1: pass data via props
component2: pass joined data via props
component3: pass part of data via props
您认为哪个选项比 运行 更高效?或者还有更好的选择吗?
我假设第一个在 运行 时间内更快,但会产生额外的数据库请求成本。第二个在数据库上更轻,但不确定您可以通过道具传递的对象的最大大小是多少。我的假设正确吗?
同时衡量两者,看看哪一个表现更好。我认为第二种选择传递道具要快得多。我很确定由多个数据库命中造成的瓶颈不可能与 javascript 对象的大小相提并论。
简而言之,选择第二个选项。
我认为选项 2 会快得多。在选项 1 中,您正在发出大量请求,这会使服务器(数据库)性能低下。正如你所说你正在使用react js,你可以使用react-redux。从数据库中获取数据并将其存储在 redux 存储中。现在您可以在项目中的任何地方使用它了。