sql >> データベース >  >> RDS >> Mysql

Railsはいつクエリを実行してメモリにロードしますか?

    where メソッドはActiveRecord::Relationを返します オブジェクトであり、それ自体ではこのオブジェクトはデータベースクエリを発行しません。重要なのは、このオブジェクトを使用する場所です。 join メソッドもlazyは、関連付けられたテーブルを利用してデータベースクエリを読み込みますが、Homeのみを読み込みます。 関連付けられたUserとしてメモリにテーブルを配置します テーブルは必要ありません。その後、mergeがあります 、何merge メソッドdoesは、結合されたモデルで名前付きスコープを使用する簡単な方法です。

    のようなもの
    class Home < ActiveRecord::Base
      has_many :users
    end
    
    class User < ActiveRecord::Base
      belongs_to :home
    
      scope :available, ->{ where(available: true) }
    end
    



    1. ランダムタプルを取得するためのTablesampleおよびその他の方法

    2. Mysqlは、指定された日時範囲にランダムな日時を挿入します

    3. MySQLをMariaDB10にアップグレードします(パート2 – MariaDB / MySQL 5.5をバージョン10.0にアップグレードします)

    4. PHPの多次元配列からMySQLにデータを挿入する