मुझे जानकर उत्सुकता थी, अगर लार्वेल भाषण पंक्ति को अद्यतन करने पर केवल एक प्रश्न चलाता है। तो मैंने कोशिश की निम्नलिखितलैरवेल एलोक्वेंट अपडेट पर दो प्रश्नों को चलाता है?
Route::get('/cli', function(){
DB::enableQueryLog();
$client = Client::findOrFail(1);
$client->first_name = 'Noob';
$client->save();
return response()->json([
'client' => $client->first_name,
'query' => DB::getQueryLog()
], 200);
});
यह मैं निम्नलिखित परिणाम
{
"client": "Noob",
"query": [{
"query": "select * from `clients` where `clients`.`id` = ? limit 1",
"bindings": [
1
],
"time": 0.71
},
{
"query": "update `clients` set `first_name` = ?, `updated_at` = ? where `id` = ?",
"bindings": [
"Noob",
"2017-10-07 12:03:05",
1
],
"time": 3.36
}
]
}
तो मैं डीबी फसाड का उपयोग कर के बारे में सोचा दे दी है।
Route::get('/cli', function(){
DB::enableQueryLog();
$client = DB::select("update clients set first_name= 'Admin test' WHERE id=1");
return response()->json([
'client' => $client->first_name,
'query' => DB::getQueryLog()
], 200);
});
और परिणाम
{
"client": [],
"query": [
{
"query": "update clients set first_name= 'Admin test' WHERE id=1",
"bindings": [],
"time": 3.2
}
]
}
यह एक केवल एक ही क्वेरी भाग गया, हालांकि यह क्लाइंट उदाहरण लौटे नहीं किया है। मेरा सवाल है, एक उच्च यातायात सर्वर के लिए जिस विधि या रणनीति का उपयोग करने की आवश्यकता है? क्या उपयोग करने के लिए वाक्प्रचार में कोई और बेहतर तकनीक या चाल है?
से अधिक तेज़ होगा। क्या डीबी :: चयन() स्पष्ट रूप से तेज़ है? –
मुझे नहीं लगता कि इससे प्रदर्शन issue.in में बहुत अंतर आएगा। बड़े प्रश्न पूछने से यह तेजी से प्रदर्शन कर सकता है। एंजक्वेंट बहुत अधिक पठनीयता है – iCoders