問題タブ [limit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - mysql クエリで LIMIT を使用する場合、結果セットは制限と等しくなければなりませんか?
たとえばselect * from table limit 0,5
、最大で 5 行を返す
か、正確に 5 行を検索する必要があり、row_count が 5 に等しくない場合、空の結果セットを返しますか?
クエリselect * from table limit 5
が
sql - SQLServer 2000での効率的なページング(制限)クエリ?
SQLServer 2000でページングクエリを実行する最も効率的な方法は何でしょうか?
「ページングクエリ」は、MySQLでLIMITステートメントを使用するのと同じです。
編集:その場合、ストアドプロシージャは、セットベースのクエリよりも効率的でしょうか?
windows - 制御された環境 (Win32) でアプリケーションを実行する際の問題
この質問にタグを付ける方法やタイトルの書き方がよくわからないので、誰かがより良いアイデアを持っている場合は編集してください
契約は次のとおりです。
少し前に、私はコンピューティング オリンピック管理システムの重要な部分を少し書きました。システムの仕事は、参加者からの提出物 (コード ファイル) を取得し、それらをコンパイルし、定義済みのテスト ケースに対して実行し、結果を返すことです。さらに、あなたが想像できる残りのすべてのことを実行する必要があります。
私が書いた部分はリミッターと呼ばれていました。それは、制御された環境で別のプログラムを実行する小さなプログラムでした。この場合の制御とは、使用可能なメモリ、計算時間、およびシステム リソースへのアクセスに対する制限を意味します。さらに、プログラムがクラッシュした場合は、例外の種類を特定し、それをユーザーに報告できるはずです。また、プロセスが終了したときに、プロセスが実行された時間を記録する必要があります (少なくとも 0.01 秒以上の精度で)。
もちろん、これに対する理想的なソリューションは仮想化ですが、私はそれを書く経験がありません。
これに対する私の解決策は、3 つの部分に分かれていました。
最も単純な部分は、システム リソースへのアクセスでした。プログラムは、限られたアクセス トークンで単純に実行されます。システムへの読み取り専用アクセスを実質的に提供するために、すべてのプロセスで使用できる基本的な (Everyone、Anonymous など) アクセス トークンをいくつか組み合わせました。ただし、システムが実行されているフォルダーは例外です。
メモリの制限は、ジョブ オブジェクトを介して行われました。最大メモリ制限を指定できます。
最後に、実行時間を制限してすべての例外をキャッチするために、リミッターをデバッガーとしてプロセスにアタッチします。したがって、私はそれが費やした時間を監視し、時間がかかりすぎる場合は終了することができます. Job オブジェクトはジョブの Kernel Time と User Time のみを報告するため、これには Job オブジェクトを使用できないことに注意してください。プロセスは、それらのいずれにもカウントされないようなことを行う可能性がありますSleep(99999999)
が、それでもテスト マシンを無効にします。したがって、最終的な実行時間にプロセスのアイドル時間をカウントしませんが、それでも制限が必要です。
さて、私はこのような低レベルの専門家ではありません。MSDN を読んだり遊んだりして数日を過ごし、できる限りの解決策を思いつきました。残念ながら、期待どおりに動作していないようです。ほとんどの場合、問題なく動作しているように見えますが、奇妙なケースが忍び寄り続けています。ちょうど今、私はそれ自体で一瞬で実行される小さな C++ プログラムを持っていますが、リミッターは 8 秒のユーザー モード時間を報告します (ジョブ カウンターから取得)。これがコードです。約 0.5 秒で出力を出力し、待機するだけで 7 秒以上かかります。
リミッターのコードはかなり長いので、ここには含めません。また、私のアプローチに何か問題があるのではないかと感じています。おそらく、デバッガーのことをすべきではありません。おそらく、私が知らないいくつかの一般的な落とし穴があります。
他の人がこの問題にどのように取り組むかについて、アドバイスをお願いします。おそらく、これを行う何かが既にあり、私のリミッターは廃止されましたか?
追加:問題は、私が上に投稿した小さなプログラムにあるようです。少し関係がないので、新しい質問を開きました。プログラムを制限するためのこのアプローチについて、引き続きコメントをお願いします。
google-maps - ユーザーをGoogleマップの特定の範囲とズームレベルに制限できますか?
ウェブページにGoogleマップを実装しています。このプロジェクトの目的のために、ユーザーがマップをドラッグできる距離を制限して、2つの座標内にある特定の領域のみを表示できるようにします(一方は北西、もう一方は南東を指定します。あなたは私の意味を理解します)。
Google Maps APIを使用してこれを実装するための最良の方法は何ですか?
これを自動的に行う呼び出し可能なメソッドはありますか?
sql - 結果セットが非常に大きく、インデックスで並べ替えることができない場合の「ORDERBY」の最適化
行の順序を満たすためにインデックスを使用できない場合、LIMITが小さい(つまり、一度に20行)ORDER BY句をすばやく返すにはどうすればよいですか?
テーブル「ノード」(以下に簡略化)から特定の数のタイトルを取得したいとします。ちなみに私はMySQLを使っています。
ただし、返される行を特定のユーザーがアクセスできる行のみに制限する必要があります。多くのユーザーが多数のノードにアクセスしています。私はこの情報を大きなルックアップテーブルで事前に計算しています(物事を簡単にするための試み)。主キーは両方の列をカバーし、行の存在はユーザーグループがそのノードにアクセスできることを意味します。
したがって、私のクエリには次のようなものが含まれています
...また、GROUP BYまたはDISTINCTを使用して、ユーザーの「ユーザーグループ」の2つが両方ともそのノードにアクセスできる場合でも、ノードが1回だけ返されるようにします。
私の問題は、返される行が他のviewpermissionテーブルの値に依存するため、作成日または最終更新日で結果を並べ替えるORDERBY句がインデックスを使用する方法がないように見えることです。
したがって、MySQLは、条件に一致するすべての行を検索してから、それらをすべて自分で並べ替える必要があります。特定のユーザーに100万行があり、たとえば、最新の100行または最後の更新順に並べられた100〜200行を表示する場合、DBは、ユーザーが表示できる100万行を把握して並べ替える必要があります。この100行を返す前に、この結果セット全体がそれ自体になりますよね?
これを回避するための創造的な方法はありますか?私は次のように考えてきました:
- どういうわけか、ビューパーミッションルックアップテーブルに日付を追加して、日付とパーミッションを含むインデックスを作成できるようにします。それは私が推測する可能性です。
編集:簡略化された質問
おそらく、次のように書き直すことで、質問を単純化できます。
このクエリを書き直したり、次のインデックスを作成して、インデックスを使用して順序付けを行うことができるようにする方法はありますか(行を選択するだけではありません)?
(usergroup)のインデックスを使用すると、WHERE部分をインデックスで満たすことができますが、GROUP BYは、これらの行に一時テーブルとファイルソートを強制します。WHERE句には、最初の列としてusergroupを持つインデックスが必要なため、(nodeid)のインデックスは私には何もしません。(usergroup、nodeid)のインデックスは、GROUP BYが変更される可能性のあるインデックスの最初の列ではないため、一時テーブルとファイルソートを強制します。
解決策はありますか?
ruby - Net::HTTP.request_get のフェッチ サイズを制限する
次のように、Net:HTTP を使用して Web サーバーからコンテンツを取得したいと考えています。
しかし、ネットワーク トラフィックを減らすために、取得を最初の 5kb に制限する必要があります。どうすればいいですか?
sql-server - Contains() の使用時に 2100 個のパラメーター制限 (SQL Server) に到達する
depts
IEnumerable<int>
は部門 IDのリスト ( ) です
このクエリは、大きなリスト (たとえば、約 3000 の部門 ID) を渡すまでは正常に機能します。その後、次のエラーが発生します。
着信表形式データ ストリーム (TDS) リモート プロシージャ コール (RPC) プロトコル ストリームが正しくありません。この RPC 要求で指定されたパラメーターが多すぎます。最大は 2100 です。
クエリを次のように変更しました。
を使用IndexOf()
するとエラーは修正されましたが、クエリが遅くなりました。これを解決する他の方法はありますか?本当にありがとう。
sql - FoxPro の制限
フォックスプロデータベースから大量のデータを取得し、それを操作してmysql dbに挿入しようとしています。一度にすべてを行うには多すぎるため、たとえば 10000 レコードのバッチで行いたいと考えています。Fox Pro SQL の LIMIT 5, 10 に相当するものは、select ステートメントのようなものです。
名前、住所を人数制限 5、10 から選択します。
つまり、5 番目から始めて 10 の結果のみが返されます。オンラインで見回したところ、明らかにあまり役に立たないトップについてのみ言及されています。