サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。
以下のようなピタゴラスの定理を使った指定した経度緯度に最も近いデータを取得するSQLは結構ありがちですが、CPU負荷が高く効率も悪いのでMySQLに標準搭載となった空間情報(geometry)を使ってみることにします。 SELECT * FROM loc ORDER BY power(abs(latitude - 緯度 ), 2) + power(abs(longitude - 緯度 ), 2) LIMIT 1 MySQLの空間情報(geometry)機能はPostGIS(Postgresカスタマイズ)に比べると貧弱なので、その為の工夫を行います。例えばここのとおりのままだと逆にSQLが遅くなります。 まずは、テーブル定義から 通常のテーブル CREATE TABLE IF NOT EXISTS `loc` ( `loc_id` int(11) NOT NULL auto_incremen
最近のWebサービスでは、外部APIを活用したものが非常に多くなっています。前回は外部APIのアクセス数制限を回避するためのキャッシュ、及び具体例として位置情報サービスのfoursquare APIの結果をキャッシュする仕組みを設計しました。今回は、MySQLに保存された位置情報データのキャッシュをMySQL Spatial Extensionsを使って検索する方法について説明します。 はじめに Retty株式会社の鹿島です。前回は、最近のWebサービスでよく使われている外部のAPIおよびサービス停止に致命的な影響を与えかねないrate limitについて説明しました。またrate limitの超過を防ぐための「キャッシュ」という方法についても説明しました。 具体例として、位置情報SNSサービスであるfoursquareのAPIを取り上げ、その結果をキャッシュする仕組みの基本的な設計を説明
PHPとMySQLを使い、「受付時間~終了時間」の検索をテストしています。 次の日にまたぐ時間(10:00~翌2:00など)の場合、どのようにDBに登録して、 どのようなSQL文を書けば、その範囲内にヒットするデータを抽出出来るか分かりません。 日をまたがない場合、以下のようにしていました。 SELECT * FROM shop start_time<'$date' && last_time>'$date' $date = date("H:i");//現在の時間 start_timeとlast_timeのデータ型は「time」です。 ヒットする:start_timeに「10:00:00」、last_timeに「23:00:00」のレコードがあり、22時にSQLを実行した ヒットしない:start_timeに「10:00:00」、last_timeに「02:00:00」のレコードがあり、22
🙌 Awesome, you're subscribed! Thanks for subscribing! Look out for your first newsletter in your inbox soon! Get us in your inbox Sign up to our newsletter for the latest and greatest from your city and beyond
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く