অন্য একটি বিকল্প হ'ল ফাইলটি একটি ডেটাবেজে লোড করা। EG মাইএসকিউএল এবং মাইএসকিউএল ওয়ার্কবেঞ্চ।
ডেটাবেসগুলি বড় ফাইলগুলির সাথে কাজ করার জন্য নিখুঁত প্রার্থী
যদি আপনার ইনপুট ফাইলটিতে একটি নতুন লাইনের দ্বারা পৃথক করা মাত্র শব্দ থাকে তবে এটি কঠোর হওয়া উচিত নয়।
আপনি ডাটাবেস এবং মাইএসকিউএল ওয়ার্কবেঞ্চ ইনস্টল করার পরে আপনার যা করা দরকার তা এটি।
প্রথমে স্কিমা তৈরি করুন (এটি ধরে নিয়েছে যে শব্দগুলি আর 255 অক্ষরের বেশি হবে না যদিও আপনি যুক্তির মান বাড়িয়ে এটি পরিবর্তন করতে পারেন)। প্রথম কলাম "আইডওয়ার্ডস" একটি প্রাথমিক কী।
CREATE SCHEMA `tmp` ;
CREATE TABLE `tmp`.`words` (
`idwords` INT NOT NULL AUTO_INCREMENT,
`mywords` VARCHAR(255) NULL,
PRIMARY KEY (`idwords`));
দ্বিতীয়ত ডেটা আমদানি করুন: EG এটি সমস্ত শব্দটি টেবিলের মধ্যে আমদানি করবে (এই পদক্ষেপটি শেষ হতে কিছুটা সময় নিতে পারে My বৃহত্তর একটি (টেবিলটি কেটে দিন .. IE এটি সাফ করুন এবং সম্পূর্ণ ডেটা সেট লোড করুন)।
LOAD DATA LOCAL INFILE "C:\\words.txt" INTO TABLE tmp.words
LINES TERMINATED BY '\r\n'
(mywords);
এই লিঙ্কটি লোডের জন্য সঠিক ফর্ম্যাটটি পেতে সহায়তা করতে পারে।
https://dev.mysql.com/doc/refman/5.7/en/load-data.html
EG আপনার যদি প্রথম লাইনটি এড়িয়ে চলার দরকার হয় তবে আপনি নিম্নলিখিতটি করতে চান।
LOAD DATA LOCAL INFILE "H:\\words.txt" INTO TABLE tmp.words
-- FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(mywords);
শেষ পর্যন্ত বাছাই করা ফাইলটি সংরক্ষণ করুন। আপনার পিসির উপর নির্ভর করে এটি কিছুটা সময় নিতে পারে।
SELECT tmp.words.mywords
FROM tmp.words
order by tmp.words.mywords asc
INTO OUTFILE 'C:\\sorted_words.csv';
আপনি নিজের পছন্দ মতো ডেটাও অনুসন্ধান করতে পারেন। EG এটি আপনাকে প্রথম 50 টি শব্দ আরোহণের ক্রমে দেবে (0 তম বা প্রথম শব্দ থেকে শুরু)।
SELECT tmp.words.mywords
FROM tmp.words
order by tmp.words.mywords asc
LIMIT 0, 50 ;
শুভকামনা
পিট