Параметризованный получают запрос в Ruby?

Все в MySQL, кажется, сделано ближе к металлу, чем в MSSQL, И документация рассматривает его тот путь. Специально для оптимизации необходимо будет понять, как индексы, конфигурация системы и оптимизатор взаимодействуют при различных обстоятельствах.

"оптимизатор" является больше синтаксическим анализатором. В MSSQL Ваш план запросов часто является удивлением (обычно хороший, иногда не). В MySQL это в значительной степени делает то, что Вы попросили, чтобы он сделал, способ, к которому Вы ожидали его. Что означает, что у Вас самих должно быть глубокое понимание различных путей, оно могло бы быть сделано.

Не созданный вокруг хорошей МОДЕЛИ ТРАНЗАКЦИИ (механизм MyISAM по умолчанию).

установка Файловой системы является Вашей проблемой.

Вся конфигурация базы данных является Вашей проблемой - особенно различные размеры кэша.

Иногда кажется лучше думать о нем как о специальном, прославленном isam. Codd и Date не несут много веса сюда. Они сказали бы это без затруднения.

38
задан Alex Dean 11 August 2013 в 21:31
поделиться

4 ответа

Используйте следующий метод:

require 'net/http'
require 'cgi'

def http_get(domain,path,params)
    return Net::HTTP.get(domain, "#{path}?".concat(params.collect { |k,v| "#{k}=#{CGI::escape(v.to_s)}" }.join('&'))) if not params.nil?
    return Net::HTTP.get(domain, path)
end

params = {:q => "ruby", :max => 50}
print http_get("www.example.com", "/search.cgi", params)
31
ответ дан 27 November 2019 в 03:02
поделиться
require 'net/http' require 'uri'

uri = URI.parse( "http://www.google.de/search" ); params = {'q'=>'cheese'}

http = Net::HTTP.new(uri.host, uri.port) 
request = Net::HTTP::Get.new(uri.path) 
request.set_form_data( params )

# instantiate a new Request object
request = Net::HTTP::Get.new( uri.path+ '?' + request.body ) 

response = http.request(request)
puts response.body

Я ожидал, что он будет работать без второго экземпляра, поскольку это будут первые объекты запроса или задание http-объекта, но у меня это сработало таким образом.

19
ответ дан 27 November 2019 в 03:02
поделиться
Net::HTTP.get_print 'localhost', '/cgi-bin/badstore.cgi?searchquery=crystal&action=search&x=11&y=15'

или

uri = URI.parse("http://localhost")
req = Net::HTTP::Get.new("/cgi-bin/badstore.cgi?searchquery=crystal&action=search&x=11&y=15")

http = Net::HTTP.new(uri.host, uri.port)

response = http.start do |http| 
  http.request(req)
end
5
ответ дан 27 November 2019 в 03:02
поделиться

новичок в переполнении стека, и я думаю, я не могу комментировать, но @ chris.moose не хватает двойных кавычек в его функции def. строка 5 должна быть:

return Net::HTTP.get(domain, "#{path}?".concat(params.collect { |k,v| "#{k}=#{CGI::escape(v.to_s)}" }.reverse.join('&'))) if not params.nil?

или здесь все переопределено для копирования / вставки

require 'net/http'
require 'cgi'

def http_get(domain,path,params)
    return Net::HTTP.get(domain, "#{path}?".concat(params.collect { |k,v| "#{k}=#{CGI::escape(v.to_s)}" }.reverse.join('&'))) if not params.nil?
    return Net::HTTP.get(domain, path)
end

<3 -майк

2
ответ дан 27 November 2019 в 03:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: