opencart匯率,magento添加屬性
2022-10-24 15:24:27 - 米境通跨境電商
magento的EAV模型非常強(qiáng)大且靈活,但是如果不做優(yōu)化的話,性能會(huì)非常低,因?yàn)閍ttributes都存放在附表里,要獲取一個(gè)entity的attribute,需要表聯(lián)結(jié)一次,如果需要獲取多條attributes,就會(huì)產(chǎn)生大量的表聯(lián)結(jié),勢(shì)必會(huì)對(duì)數(shù)據(jù)庫(kù)造成壓力,對(duì)于訪問量大的內(nèi)容,比如catalog_product(商品)、商品列表(catalog_category),Magentocoreteam使用了flattable這種策略來(lái)應(yīng)對(duì),簡(jiǎn)而言之,就是把需要的attributes的值收集起來(lái),新建一個(gè)緩存表,Attributecode作為列名,attributevalue作為列的值,這樣通過一個(gè)SELECT就可以把很多attributes的值查詢出來(lái)。
緩存表是一把“雙刃劍”,雖然解決了性能問題,卻造成了一些負(fù)面影響:
比如:
1.對(duì)系統(tǒng)做了修改,需要重新生成緩存表(reindex),假如商品較多,往往比較耗時(shí)
2.新增attribute時(shí),如果要添加進(jìn)緩存表比較麻煩,且需要reindex
在這里簡(jiǎn)單介紹一下Magento在新增catalog_product的attribute時(shí)應(yīng)該注意的地方,以及如何設(shè)置屬性的排序、修改原有屬性
新增屬性:
新增商品屬性主要使用的是addAttribute()這個(gè)方法。