PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL 9.6 संग्रहीत कार्यविधि प्रदर्शन में सुधार

आपके मामले में जब उत्पाद का user_id बदल जाता है तो गिनती अपडेट नहीं होगी, इसलिए, मैं काउंटर_कैश रेल की

class Product < ActiveRecord::Base
  belongs_to :user, counter_cache: true
end

इस पर भी एक नज़र डालें मणि

नोट :- इससे आपका प्रति पंक्ति प्रविष्टि हल नहीं होगा हालांकि समस्या

फिर आपको कस्टम काउंटर लिखना होगा, कुछ इस तरह से

class Product < ApplicationRecord
  has_many :products
  attr_accessor :update_count

  belongs_to :user#, counter_cache: true

  after_save do
    update_counter_cache
  end

  after_destroy do
    update_counter_cache
  end

  def update_counter_cache
    return unless update_count
    user.products_count = user.products.count
    user.save
  end
end

रेल कंसोल में

10.times{|n| Product.new(name: "Latest New Product #{n}", update_count: n == 9, user_id: user.id).save}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कृपया सर्वोत्तम बल्क-डिलीट विकल्प का सुझाव दें

  2. दो-तरफा बाज़ार में संबंधपरक तालिकाओं का निर्माण कैसे करें

  3. रेल:हरोकू की तैनाती, कई समस्याएं

  4. Postgresql ILIKE बनाम TSEARCH

  5. टीसीपी कीप-अलाइव पीडीओ कनेक्शन पैरामीटर