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

डेटा डालने के लिए स्लिक में प्रतिक्रियाशील धाराओं का उपयोग कैसे किया जाता है

सीरियल इंसर्ट

सबसे आसान तरीका होगा inserts एक <के भीतर कोड>सिंक.foreach

मान लें कि आपने स्कीमा कोड जनरेशन का उपयोग किया है और आगे यह मानते हुए कि आपकी तालिका का नाम "नंबरटेबल" है

//Tables file was auto-generated by the schema code generation
import Tables.{Numbertable, NumbertableRow} 

val numberTableDB = Database forConfig "NumberTableConfig"

हम एक फंक्शन लिख सकते हैं जो इंसर्शन करता है

def insertIntoDb(num : Int) = 
  numberTableDB run (Numbertable += NumbertableRow(num))

और उस फंक्शन को सिंक में रखा जा सकता है

val insertSink = Sink[Int] foreach insertIntoDb

Source(0 to 100) runWith insertSink

बैच किए गए निवेशन

आप एक बार में एन इंसर्ट को बैच करके सिंक कार्यप्रणाली को और बढ़ा सकते हैं:

def batchInsertIntoDb(nums : Seq[Int]) = 
  numberTableDB run (Numbertable ++= nums.map(NumbertableRow.apply))

val batchInsertSink = Sink[Seq[Int]] foreach batchInsertIntoDb

इस बैच किए गए सिंक को प्रवाह . द्वारा खिलाया जा सकता है जो बैच समूहीकरण करता है:

val batchSize = 10

Source(0 to 100).via(Flow[Int].grouped(batchSize))
                .runWith(batchInsertSink)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC प्रकार के लिए कोई बोली मानचित्रण नहीं:1111

  2. TINYTEXT, TEXT, MEDIUMTEXT, और LONGTEXT अधिकतम संग्रहण आकार

  3. हाइबरनेट बैच इंसर्ट कैसे काम करता है?

  4. क्या क्रॉस-टेबल इंडेक्सिंग संभव है?

  5. विंडोज़ में बड़ी फ़ाइलों को आयात करने के लिए आप MySQL के स्रोत कमांड का उपयोग कैसे करते हैं?