comment faire une requête rapide


l'islam

J'ai testé ce codage SQL lors de la création d'une petite table, il contient des données de 4 lignes et j'obtiens une requête rapide, mais lorsque je passe à la vraie table en profondeur et ne me donne aucun résultat, cette table de vérité contient plus d'un million d'enregistrements

SELECT DISTINCT /*+ richs_secret_hint */
 em_code, (to_date(end_date,'DD-MM-YYYY') - level + 1) AS days
FROM
   islaam_vca where em_code = '2222'

CONNECT BY level <= (to_date(end_date,'DD-MM-YYYY') - to_date(start_date,'DD-MM-YYYY') + 1)
order by days ASC
;

donne moi un résultat rapide

quelqu'un m'aide comment obtenir un résultat rapide à partir d'une vraie table

artbro
  1. Il me semble que la combinaison de em_code et start_date est unique pour cette table, il devrait donc exister un index pour cette unicité :
CREATE UNIQUE INDEX islaam_vca_uk1 ON islaam_vca(em_code, start_date)
  1. Deuxièmement, veuillez stocker les dates sous forme de type de données DATE, et non sous forme de chaîne.

  2. Je l'ai testé un peu et il pourrait y avoir une situation, lorsque la requête essaiera TABLE ACCESS FULL pour la table islaam_vca, vous pouvez donc essayer de faire :

SELECT /*+ALL_ROWS*/  distinct em_code --sorry about my interpretation of secret your hint
     , start_date
     , NVL(end_date, SYSDATE) end_date --don't know if end date is nullable or now
     , TRUNC(start_date) + level - 1 specific_date
  FROM (SELECT em_code
            , start_date
            , end_date
         FROM islaam_vca
        WHERE em_code = '2222')
CONNECT BY level <= TRUNC(NVL(end_date, SYSDATE)) - TRUNC(start_date) + 1
order by specific_date;

Articles connexes


Comment faire une requête rapide vers une URL spécifique

Martin Kostadinov Je suis nouveau dans la programmation rapide et j'ai besoin d'aide. Je veux savoir comment je peux faire une requête get sur une URL spécifique et enregistrer les données de réponse dans une variable. Je suis désolé de ne pas pouvoir vous mon

Comment faire une requête d'insertion plus rapide en C #?

user3432681 Je voudrais insérer tous les identifiants dans une table SQL. La méthode suivante fonctionne mais cela prend très longtemps. Quelle est la meilleure ou la meilleure façon de faire cela pour augmenter la vitesse. using (SqlConnection connection = ne

Comment faire une requête https?

Samir Shahmuradli: Je devrais faire une demande à l'adresse et envoyer json, json que j'ai sous la forme d'un modèle public class RequestToPlanfix { private String cmd; private String providerId; private String channel; private String chatId;

Comment faire une requête https conditionnelle?

Arpan Kc C'est essentiellement ce que j'essaye de faire: var sendRequest= false; //may be true https.request(request_params, function(response){ //only sends a request if sendRequest == true //do something with response if request has been sent

Oracle: Comment faire une requête pivot?

Thomas Carlton J'ai une table comme celle-ci: Tableau 1: numéro d' identification , produit varchar2, argument varchar2, valeur AnyData Quand il est rempli, cela ressemble à ceci: Je souhaite créer une vue telle que le résultat est: J'ai essayé la requête suiv

Comment faire une requête Sequelize $ between ?

Enregistrer J'utilise node.js et Sequelize ORM pour mon projet. J'essaie d'obtenir toutes les lignes où l'étape est "en attente" ET la date entre 2 et 10 (fausses dates). Voici ma requête : const stain = await Gyn.findAll({ where: { stage:

Comment faire une requête HTTP à bitstamp?

Trrrrrrrrrr J'essaie d'utiliser une API de bitstamp pour récupérer un cours de change sur ma page Web. J'ai étudié ce problème, mais je n'arrive toujours pas à le faire fonctionner car il revient toujours ERROR Le lien utilisé est https://www.bitstamp.net/api/